09-26-2007 01:08 AM
09-26-2007 03:53 AM
Hi,
I have a liittle bit of trouble to understand, what you really want. 🙂
The Microsoft books of Jeffrey Richter clearly explain the callback mechanisms and the queues that are needed to implement them.
I would avoid to work with an unkown special compiling and linking scheme, but rather use well known semaphores or similar.
There is also the thread local storage concept, which can help you to implement static storage with threads within a dll. But TLS also uses up real resources, so you shouldn't implement TLS blindly for all dlls.
09-26-2007 04:24 AM
Hi kaem,
I'm no DLL expert but have a couple of questions/ideas anyway!
2. Since only one instance of a DLL is in the memory at one time...
Is this true? LabVIEW can load multiple instances of DLL with the Call Library Function configured for a "reentrant" call - is C (C++) limited to not-allow multiple instances?
Would it be useful/simpler to pass an event from the app to the LabVIEW DLL (or through it to a CIN) and have the LabVIEW DLL invoke the event instead of actually calling a function? (In the app., the function could be run when the Event fires.)
I didn't really understand the part of your post re: inter-process communications...
Cheers!
09-26-2007 05:19 AM
There is also the thread local storage concept, which can help you to implement static storage with threads within a dll. But TLS also uses up real resources, so you shouldn't implement TLS blindly for all dlls.
This is something I also don't understand, can you clarify.
@tbd wrote:Would it be useful/simpler to pass an event from the app to the LabVIEW DLL (or through it to a CIN) and have the LabVIEW DLL invoke the event instead of actually calling a function? (In the app., the function could be run when the Event fires.)
09-26-2007 11:10 AM
09-27-2007 12:16 AM
09-28-2007 10:40 AM
10-03-2007 01:11 AM