Du musst auch im Vorfeld genügend Speicher für Output reservieren und OutputSize entsprechend der Länge setzen. Für z.B. die ersten 50 Zeichen müsste das dann lauten:
Delphi-Quellcode:
procedure TForm1.buttonClick(Sender: TObject);
var
output: PAnsiChar;
input: PAnsiChar;
begin
input:=PAnsiChar(AnsiString(editInput.Text));
output := AnsiStrAlloc(50);
Extension(output,StrLen(output),input);
editOutput.Text:=output;
StrDispose(output);
end;
Oder alternativ:
Delphi-Quellcode:
procedure TForm1.buttonClick(Sender: TObject);
var
output: AnsiString;
input: PAnsiChar;
begin
input:=PAnsiChar(AnsiString(editInput.Text));
SetLength(output, 50);
Extension(PAnsiChar(output),Length(output),input);
editOutput.Text:=output;
end;
Falls ich keinen Denkfehler mache, sollte das so funktionieren.