Nochmal ne Frage zum Thema
DLL. (Gehört noch hierzu
)
Undzwar hab ich ein Problem mit dem Laden der
DLL. Wie oben schon genannt, hab ich das Tutorial vom Delphi Treff durchgearbeitet.
Mit dem Laden zum Ladenzeitpunkt klappt alles wunderbar:
Delphi-Quellcode:
unit read_dir;
interface
uses
SysUtils,
Classes;
function ListSubDirs(sDir:
string;
const sList: TStrings):
String;
implementation
function ListSubDirs(sDir:
string;
const sList: TStrings):
String;
external '
plugin/read_dir.dll';
end.
ABER das Laden zur Laufzeit funktioniert iwie nicht:
Delphi-Quellcode:
unit read_dir;
interface
uses
SysUtils,
Classes,
Windows;
type
TOrdnernamen =
function (sDir:
string;
const sList: TStrings):
String;
stdcall;
function ListSubDirs(sDir:
string;
const sList: TStrings):
String;
implementation
function ListSubDirs(sDir:
string;
const sList: TStrings):
String;
var Ordnernamen : TOrdnernamen;
Handle : THandle;
begin
Handle := LoadLibrary(PChar(ExtractFilePath(ParamStr(0))+'
read_dir.dll'));
if Handle <> 0
then
begin
@Ordnernamen := GetProcAddress(
Handle, '
ListSubDirs');
if @Ordnernamen <>
nil then
begin
result := Ordnernamen(sDir,sList);
end;
FreeLibrary(
Handle);
end;
end;
end.
Fehler beim Lesen der Addresse 000...(nur 0)