ich möchte in einem Konsolenprogramm eine DLL mit LoadLibrary() dynamisch laden, erhalte aber immer nur den Handle=0.
Code: Alles auswählen
program project1;
{$mode objfpc}{$H+}
uses
windows, Classes,sysutils;
Const
LibName = 'LibRfc32.dll';
var
LibHandle : THandle;
begin
if FileExists(LibName) then
begin
// Ermittelt den Handle der zuverwendenden Library
LibHandle := Windows.LoadLibrary(PChar(LibName));
// Prüft, ob das Laden der DLL erfolgreich war
if LibHandle <> 0 then
Writeln(Format('Laden der DLL war erfolgreich! LibHandle=%d',[LibHandle]))
else
Writeln(Format('Laden der DLL gescheitert! LibHandle=%d',[LibHandle]));
// Freigabe des Arbeitsspeichers
Windows.FreeLibrary(LibHandle);
end
else
Writeln(Format('DLL %s im Dateisystem nicht gefunden',[LibName]));
Readln;
end.
Irgendwie glaube ich, es liegt an der DLL selbst. Andere DLLs funktionieren tadellos.
Kann mir jemand sagen, was hier falsch läuft?
Kann jemand mein Problem nachvollziehen?
Viele Grüße
Fritz
Aktuelle Entwicklungsumgebung: WIN10 64Bit, Lazarus 2.0.0, FPC 3.0.4