Eine statisch gelinkte
DLL wird beim Start der EXE gesucht. Welche Orte dabei durchsucht werden ist irgendwo in der Windows-Doku beschrieben (hab es gerade nicht parat). Das ist übrigens nicht irgendwas von Delphi sondern es ist Windows, das so arbeitet.
Sie wird auch statisch in C++ gelinkt.
Was soll mir das jetzt sagen.
Es geht mir nicht um den Ort sondern das mein Programm in C++ startet in Delphi aber nicht.
Unabhängig davon wo sich die
DLL befindet. Bzw. Nicht vorhanden ist.
C++
1.
DLL statisch gelinkt.
2. Funktionen sind im Quellcode aktiv und werden auch aufgerufen.
3. Anwendung startet.
4. Funktionen die aufgerufen werden gehen ins leere wenn das
Handle der
DLL über LoadLibrary 0 ist.
Delphi
1.
DLL statisch gelinkt.
2. Funktionen sind im Quellcode aktiv und werden aufgerufen und starten die
DLL automatisch (Warum? )
3. Anwendung startet nicht wenn
DLL fehlt
4. Funktionen die aufgerufen werden starten die
DLL automatisch ohne das ich LoadLibrary selbst verwende. (Warum? )
Weshalb lädt der Compiler die
DLL selbst (bzw. sucht diese) ohne mein Zutun und ignoriert diese nicht einfach so wie es in C++ auch der Fall ist?
Es geht nicht um die Frage statisch oder Dynamisch sondern warum beim statischen linken C++\Delphi so einen unterschied machen.