Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Pointer vom String übergeben und ändern

  Alt 16. Mär 2007, 17:40
Hallo,

hab ein kleines Problem mit einem Pointer. Verwende sie öfter aber an der einen Stelle knallt's ab und zu (unregelmäßig). Ich veruche vom Hauptprogramm an eine DLL eine Adresse von einem String zu übergeben, diesen in einer Variable zu speichern und dann als Rückgabewert wieder ins Programm einzuschleusen:

Delphi-Quellcode:
Hauptprogramm:

var
s: String;
begin
  s:=Hallo;
  dllprozedur(@s);
end;


DLL

function dllprozedure(s: PString): String; stdcall;
var
  localS: String:
begin
  localS:=s^;
  localS:=localS+'sdsd';
  return:=localS;
end;
Wie gesagt. Ab und zu gehts, ab und zu kommt die Meldung

Zugriffverletzung bei Adresse 0164F144. Lesen von Adresse 0164F144

Wenn ich das Programm neustarte, gehts wieder...
  Mit Zitat antworten Zitat