Es gibt 2 Möglichkeiten, Dlls einzubinden:
-statische Bindung: hierbei wird die Dll bei Programmstart geladen und die Funktionszeiger aufgelöst.
-dynamische Bindung: Dlls werden mit den Funktionen LoadLibrary irgendwann zur Laufzeit in den Speicher geladen, mit GetProcAddress ein Funktionszeiger geholt. Mit FreeLibrary wird die Dll wieder freigegeben.
Vorteile der dynamischen Bindung:
-Es müssen nicht zur gesamten Laufzeit des Programms alle Dlls im Speicher gehalten werden
-Das Programm ist in der Lage flexibel darauf zu reagieren, falls zB eine Dll nicht vorhanden ist
Nachteile:
-Umständlichere Programmierung (finde ich)
-Langsamer als statische Bindung
Also überleg dir gut, ob du wirklich dynamisch binden willst.
grosstefan hat gesagt.:
Ich weiss gar nicht wie man eine dll so einbindet, dass sie erst geladen wird wenn die Quickaddress funktion gerufen wird
Das geht auch so nicht, jedenfalls nicht automatisch. Wenn du eine Dll dynamisch laden willst, hast du mit LoadLibrary usw automatisch einen Code-Mehraufwand, selbst wenn du den mit Klassen o.ä. gering hälst.