newLISP Fan Club

Forum => newLISP and the O.S. => Topic started by: HPW on April 08, 2005, 06:36:24 AM

Title: 2 ActiveX process share one newlisp.dll
Post by: HPW on April 08, 2005, 06:36:24 AM
I ran into a new problem with the DLL.

Using it from 2 different instances of a WIN-Standard-exe gives no problem.

Both sessions have their own memory-workspace and work side by side.



Now I get a different situation. I call newLISP.dll from an ActiveX component embedded in an HTML-file running in iexplorer. Now I run a second instance of iexplorer with the same HTML-file. Now I get errors complaining about protected symbols in my initialisation files. So it seems to use the same DLL/memory workspace. I see 2 instances of iexlorer in the process list but it maybe that the ActiveX-function share the same DLL.



The only solution which came to my mind, is to make unique newLISP.dll's for each instance on the fly to avoid this conflict.



Other idea's ?
Title:
Post by: Lutz on April 08, 2005, 08:17:13 AM
>> make unique newLISP.dll's



Yes, that is what comes to my mind too, you could just copy to a different name. I think the reason is that the Active-X controls are all childs of the IE browser, so any new Active-X control will take the exisiting instance of newlisp.dll.



I wonder if this could work to your advantgage by sharing variables etc., or it may be dangerous and simply crash at some point, when two Active-X controls fiddle with the same memory in newLISP.



I also wonder if there is any option when importing DLLs in Active-X to force a new instance?



Lutz
Title:
Post by: HPW on April 08, 2005, 10:34:56 AM
Quote from: "Lutz">> I think the reason is that the Active-X controls are all childs of the IE browser, so any new Active-X control will take the exisiting instance of newlisp.dll.


But there are 2 instance of the IE browser in the process list. So the controls are a child of different main-processes.


Quote from: "Lutz"
I wonder if this could work to your advantgage by sharing variables etc., or it may be dangerous and simply crash at some point, when two Active-X controls fiddle with the same memory in newLISP.


Cannot think of a possible use.



I will make some further tests to get it to work.
Title:
Post by: HPW on April 09, 2005, 02:05:59 AM
It seems to be a general problem with the ActiveX running twice.

The ActiveX itself has problem and shares variables between 2 IE session.

Have to further rersearch.