Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#13

AW: Array über Schleife ausfüllen

  Alt 11. Feb 2021, 17:17
Um das Problem mal zu veranschaulichen:
Delphi-Quellcode:
program Project773;

{$APPTYPE CONSOLE}

function GetP(S: string): PAnsiChar;
begin
  Result := PAnsiChar(AnsiString(S));
end;

var
  P1: PAnsiChar;
  P2: PAnsiChar;
begin
  P1 := GetP('Hallo Welt');
  Writeln('P1:', P1);
  P2 := GetP('Hurz');
  Writeln('P1:', P1);
  Writeln('P2:', P2);
  Readln;
end.
Der Result von GetP ist quasi in dem Moment schon ungültig, wo er zurückgegeben wird, weil er auf irgendwo auf den Stack zeigt - und zwar auf eine Stelle, die nicht mehr gültig ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat