Quote:
Mushclient shouldn't "ever" trap an event that its not specifically aware of. In fact, if a main event loop "does" trap such events and throws them out, it could accidentally throw out system events, video driver events, ...
The first point to make here is that MUSHclient is written using MFC (Microsoft's libraries) and, as such, does not directly receive events in the first place. Incoming events are processed in the bowels of MFC - and I use the word advisedly - and MFC decides which events to pass to my functions, which to handle itself, and which to send to the operating system for default management.
The strong likelihood is that events intended for other windows (eg. wxLua controls) would seem, to MFC, to be irrelevant, and thus would be thrown away, or given default treatment. I can't see how they would somehow cause the script engine to be started and a certain function inside it, called.
Quote:
While dlls, including Lua and wxLua exist in the same thread as the client they run in, its not entirely clear if they, or their objects, *actually* exist as recognizable processes in the main OS, which would mean that they would recieve their *own* events.
I think you are confusing here DLLs - which are effectively "included object" - with threads or processes.
A DLL is really just some functions that are shared between processes, and by using them, you save having identical code in memory lots of times. But by using a DLL you are not, per se, starting a new thread, or a new process. |