Einzelnen Beitrag anzeigen

Infamous

Registriert seit: 27. Nov 2007
16 Beiträge
 
#13

Re: Problem mit DLL / Übergabe

  Alt 15. Okt 2008, 11:29
Auch wenn ich einen ganz normalen PChar übergeben will (was doch auch ohne extra Bibl. gehen sollte??), gibt es eine Zugriffsverletzung.

In der EXE:

Delphi-Quellcode:
uses Schnittstelle;

variable_PChar := Funktion_in_der_Schnittstelle(var1, var2);

In der Schnittstelle:

Delphi-Quellcode:
function Funktion_in_der_Schnittstelle(var1, var2: Double): PChar;

type
    TBerechnung = function (var1, var2: Double): PChar;stdcall;
  
[...DLLladen...]
[...Zeiger auf die Function in der DLL...]

Result := Variable_mit_Zeiger_auf_die_Funktion(var1, var2);
In der DLL:

Delphi-Quellcode:
function Funktion_in_der_DLL(var1, var2: Double): PChar;
begin
    Result := '...';
end;
Es geht, bis ich in der EXe wieder auf die variable_PChar zugreifen will, dann kommt der Zugriffsfehler. Bis dahin wurde die Variable aber nicht gefüllt. Result in der DLL hat gestimmt, wurde aber dann nicht richtig übergeben. Also ist die Variable in der EXE leer. Wie mach ich das dann, dass es richtig übergeben wird?
PChar kann man doch auch so verarbeiten mit DLLs, ohne ShareMem von Borland...?
  Mit Zitat antworten Zitat