Beiträge durchsuchen

DLLs

Möglichkeiten der Einbindung

Jetzt wollen wir unsere neue DLL natürlich auch aus einer Delphi-Anwendung heraus nutzen. Dazu müssen wir sie in das Programm einbinden. Dafür gibt es zwei Möglichkeiten: die Einbindung zum Startzeitpunkt der aufrufenden Anwendung und die spätere Einbindung bei Bedarf.
Die Einbindung zum Startzeitpunkt (Load-Time Dynamic Linking) ist einfach zu handhaben, hat jedoch den Nachteil, dass gleich zu Programmstart alle in das Programm auf diese Art eingebundenen DLLs mitgeladen werden, auch wenn sie vielleicht nicht benötigt werden. Dies braucht Speicherplatz und verlängert den Startvorgang der Anwendung. Ist eine DLL nicht vorhanden, tritt gleich beim Start ein Fehler auf.

Zur Laufzeit engebundene DLLs (Run-Time Dynamic Linking) werden dagegen nur dann in den Arbeitsspeicher geladen, wenn sie auch wirklich gebraucht werden. Man kann also noch bis kurz vor den Aufruf den Namen der DLL festlegen und prüfen, ob diese auf dem System auch vorhanden ist. Diese Einbindungsart hat den Nachteil, dass sie komplizierter zu programmieren ist, da sich der Entwickler selber um den Ladevorgang und das anschließende Entfernen der DLL aus dem Arbeitsspeicher kümmern muss.
Im Folgenden soll auf beide Möglichkeiten eingegangen werden.

1 Kommentar zu DLLs

  1. Hi,

    danke für das nette Tutorial.

    Aber windows alleine reicht bei mir im uses Abschnitt nicht aus. Ich muss noch SysUtils hinzufügen damit es läuft. Ohne SysUtils kommt diese Fehlermeldung: [DCC Fehler] Unit3.pas(17): E2003 Undefinierter Bezeichner: ‚ExtractFilePath‘

Kommentare sind geschlossen.