AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DLL nicht automatisch laden

Ein Thema von venice2 · begonnen am 2. Aug 2020 · letzter Beitrag vom 3. Aug 2020
 
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.565 Beiträge
 
Delphi 12 Athens
 
#11

AW: DLL nicht automatisch laden

  Alt 3. Aug 2020, 12:34
Statisches Linken (im Delphi/Windows), da wird der Link in die Import-Tabelle des PE-Headers eingetragen,
welche von Windows gefüllt wird, bevor der ProgrammCode anfängt mit Arbeiten.

Beim Delayed-Loading gibt es auch diese "statische" Tabelle,
aber die ist zu Beginn mit Dummyprozeduren gefüllt.
Und erst beim Aufruf einer dieser Prozeduren wird die DLL geladen und die Tabelle mit den richtigen Zeigern gefüllt.
https://docs.microsoft.com/de-de/cpp...s?view=vs-2019
http://docwiki.embarcadero.com/RADSt...indows-only.29

Beim dynamischen Laden führt der Entwickler das LoadLibrary aus und sucht via GetProcAddress seine Methoden und speichert sie in eigenen Variablen.



Für Windows ist Delayed-Loading beim Programmcode viel "schöner",
wenn man damit leben kann, dass Microsoft hier eine echt besch*** Fehlermeldung eingebaut hat, wenn das Laden fehlschlägt, sollte die DLL/Funktion fehlen.
Außerdem wurde im Delphi das Entladen nicht implementiert.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Aug 2020 um 12:40 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz