Dll LoadLibrary will nich.?
-
BorisDieKlinge schrieb:
mach ich das, siehe code?
1. 100% ACK zum Kommentar von simon.gysi
2. Wie soll ich diesen Satz anders verstehen:hmm die verschachtelte Dll welche in meiner Dll verwendet wird, wird dynamisch geladen... Aber das war das Problem... danke
3. Sehe ich keinen Code Deiner DLL! Sondern nur den einer EXE!
Solltest Du also LoadLibrary in Deiner DLL Main ausführen, dann sei gewarnt! Es knallt an den übelsten nicht zu erartenden Ecken.
-
sorry, wir dachten aneinander vorbei;)
1. Die LoadLibrary meiner exe ruf ich ja in main auf;)
2. Diese Dll wiederum, also LoadLibrary ruft ne andere Dll in "iniInstance" auf;)
3. Hab die LoadLibrary nich geschrieben....EDIT: (verschrieben)
1. Die LoadLibrary meiner exe ruf ich ja in main auf;)
2. Diese Dll wiederum, also RenaLibrary ruft ne andere Dll in "iniInstance" auf;)
3. Hab die RenaLibrary nich geschrieben....
-
Und wie ist diese andere DLL an Deine DLL gebunden? Dynamisch oder implizit?
-
dynamisch..? Loadlibrary..
-
OK also dynamisch! Und wann führst Du LoadLibary in Deiner anderen DLL aus?
Also nur m sicher zu gehen.
- EXE lädt implizit oder dynmaisch eine DLL A
- DLL A lädt dann dynamisch DLL BWann macht DLL A?
-
DLL A stellt eine Schnittstelle (eine read/write funktionen) zwischen einem externe Device her.. diese funktionen liest bzw. schreibt die rohdaten vom gerät.
DLL B stellt eine spezialisrte Schnittstelle (read/write funktionen für best. Typen) zwischen einem exteren Device (über DLL A) her... diese funktionen schreiben/lesen Daten best. Typen (doub,int,string,etc) an das Gerät.
die EXE verwendent dann die spezialisierten funktionen. ich könnte auch direkt DLL A einbinden, müsste aber die Datenkonvertierung welche, von DDL B übernommen wird auch schreiben:)
DLL B ist kruz gesagt eine art wrapper:)
-
Martin Richter schrieb:
OK also dynamisch! Und wann führst Du LoadLibary in Deiner anderen DLL aus?
-
BorisDieKlinge schrieb:
Diese Dll wiederum, also RenaLibrary ruft ne andere Dll in "iniInstance" auf;)
-
BorisDieKlinge schrieb:
BorisDieKlinge schrieb:
Diese Dll wiederum, also RenaLibrary ruft ne andere Dll in "iniInstance" auf;)
von wo aus wird iniInstance aufgerufen?
Nicht etwa aus Dll- Main?
-
Wahrscheinlich ist es InitInstance! Und damit wird natürlich LoadLibray in DlMain ausgeführt! Es ist nämlich vermutlich eine MFC DLL!
<kopfschüttelnd & händeringend>Ich weiß gar nicht warum ich eigentlich manchmal noch Kommentare schreibe...<kopfschüttelnd & händeringend>
-
jepp ist ne MFC dll;) Ja Martin, zum Glück hab ich dies DLL nich geschrieben, also könnt ihr mir nich ans Bein pinkeln Wie würde man es denn dann tun, um dllmain zu umgehen... ich lerne gern;) :schland:
-
BorisDieKlinge schrieb:
1. Die LoadLibrary meiner exe ruf ich ja in main auf;)
2. Diese Dll wiederum, also RenaLibrary ruft ne andere Dll in "iniInstance" auf;)
3. Hab die RenaLibrary nich geschrieben....Wie hat dann der Programmierer der RenaLibrary sie immer geladen?
-
Das vermeidet man am einfachsten durch Einführen einer Init Funktionin der DLL.
1. LoadLibray lädt die DLL,
2. Danach Init ausführen. Diese Init Funktion führt evtl. andere LoadLibraries aus.- oder -
zweite DLL implizit binden an erste binden.
-
Boris@Off schrieb:
jepp ist ne MFC dll;) Ja Martin, zum Glück hab ich dies DLL nich geschrieben, also könnt ihr mir nich ans Bein pinkeln Wie würde man es denn dann tun, um dllmain zu umgehen... ich lerne gern;) :schland:
Nein du fragst gern, viel zu lernen scheinst du dabei nicht.
-
LOL
-
tzz...^^