Ich habe About.com guide to embedding dll's in Delphi EXE's getan, die scheint zu funktionieren, solange ich nicht wirklich die DLL als externe Funktion verwenden. Gibt es überhaupt einen Code, mit dem der Code, mit dem ich verlinkt habe, früher funktioniert als eine Unit, auf die in der uses-Klausel verwiesen wird?
Ich habe versucht:Problem Startprogramm mit einer DLL als Ressource eingebettet
- tun genau das, was dieser Code sagt.
- Platzieren Sie diesen Code im Initialisierungsabschnitt des Formulars, das die Einheit verwendet, die die externen Funktionen verwendet.
- Platzieren Sie diesen Code im Initialisierungsabschnitt der Einheit, die die externen Funktionen verwendet.
Und durch externe Funktionen auf eine Funktion, die ich mich beziehe, die wie folgt aussieht:
function MyFunction: Integer; stdcall; external 'fundll.dll';
Das Problem, das ich bin immer ist das übliche ‚fundll.dll‘ kann nicht geladen werden (weil es nicht in das Verzeichnis) . Zarkos Code funktioniert (ziemlich süß, es erstellt die DLL in diesem Ordner), wenn der Code so weit kommt. Aber es stürzt einfach ab, bevor das Projekt überhaupt in Gang kommt, wenn ich die externen Funktionen nutze, die ich brauche.
Wenn Sie Funktionen von ihm anrufen, dann ist es keine „Ressourcen-DLL.“ Es ist eine DLL, die zufällig als Ressource eingebettet wurde. Eine Ressourcen-DLL ist eine Ressource, deren einziger Zweck es ist, Ressourcen zu halten. –
Ich bin neugierig. Warum möchten Sie eine DLL in Ihre EXE-Datei einfügen? Das scheint mir den Zweck der Verwendung einer DLL zu besiegen. –
Mason, Sie können ein eigenständiges Programm zum Verteilen haben und dennoch Funktionen aufrufen, für die Sie keine Quelle haben und daher nicht direkt in Ihre EXE kompilieren können. –