Thema: Delphi record von exe zu dll

Einzelnen Beitrag anzeigen

hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#8

Re: record von exe zu dll

  Alt 22. Apr 2008, 19:48
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
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat