![]() |
Probelme mit DLL Programmierung
Hallo ich nutze Delphi 7 und hab bei Delphitreff eine Anleitung gefunden für eine DLL zu erstellen.
Soweit klappt auch alles bis auf dieser aufruf
Delphi-Quellcode:
bei dem Aufruf freelibrary(Handle);
function einfachso : String;
var einfachso: Teinfachso; Handle : THandle; begin Handle := LoadLibrary(PChar(ExtractFilePath(application.name)+'phoenix.dll')); @einfachso := GetProcAddress(Handle, 'einfachso'); if @einfachso <> nil then begin result := einfachso; end; freelibrary(Handle); end; bekomme ich grundsätzlich eine exception. Kann mir jemand helfen und sagen warum ?? |
Re: Probelme mit DLL Programmierung
Du hast in deiner DLL einen Fehler gemacht!
Ohne Quellcode der DLL sowie der Definition von Teinfachso wird das ein munderes Glaskugel-Raten. |
Re: Probelme mit DLL Programmierung
ok hier der Code der DLL
Delphi-Quellcode:
library Phoenix;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt- Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String- Informationen als PChar- oder ShortString-Parameter übergeben. } uses SysUtils, SDL_cpuid; {$R *.res} function CalcStrChecksum(s: string): Longint; var i: integer; L: integer; begin Result := 0; l := Length(s); if l > 0 then begin for i := 1 to l do Inc(Result, Ord(s[i])*i); end; end; function einfachso : String; stdcall; begin // result := GenerateCPUID +'-'+ inttostr(CalcStrChecksum(GenerateCPUID)); result := GenerateCPUID; end; exports einfachso; begin end. |
Re: Probelme mit DLL Programmierung
Lies mal den Kommentar durch den dir Delphi angelegt hat. Ist ab und zu auch mal hilfreich.
|
Re: Probelme mit DLL Programmierung
Bitte hier lesen:
![]() |
Re: Probelme mit DLL Programmierung
Sorry hatte ich übersehen klappt alles.
Danke euch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 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