Ok ich hab das nun so gemacht
DLL Laden:
Delphi-Quellcode:
Function Load_DLL (dllfilename,fstring:string;start:boolean):boolean;
begin
dllhandle := LoadLibrary(pchar(dllfilename));
if (dllhandle <> 0) and start = true then begin
initfunc := GetProcAddress(dllhandle,pchar('initialize'));
writeln(string(initfunc.InitLine)); ////////NACH DEM LADEN SOLLTE DER TEXT VON InitLine erscheinen
end;
Function deklariert:
Delphi-Quellcode:
type
NewInput = record
Description,Tag,func_name,InitLine:PChar
end;
...
var
initfunc:function :NewInput;stdcall;
/////
DLL////////
Variablen:
Delphi-Quellcode:
type
NewOutput = record
Description,Tag,func_name,InitLine:PChar
end;
Function
Delphi-Quellcode:
function initialize:NewOutput;
stdcall;
begin
Result.InitLine := (#13#10) + ('
This Module is a test Module ');
//Zeilen Umbruch und Init Text
Result.Description := pchar('
Hello world module');
//Modul Beschreibung
Result.Tag:= pchar('
blabla');
// Tag
Result.func_name := pchar('
hwfunc');
// Funktions name innerhalb der DLL
end;
Nach dem Laden erscheind der Text this module.... auch mit zeilenumbruch
jedoch gefolgt von einem Fehler
Code:
Zugriffsverletzung bei Adresse 0040514C in modul serv.exe Lesen von Adresse 0009FFFB