Einzelnen Beitrag anzeigen

gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#1

Verständnisfrage: String nach Pointer kopieren

  Alt 30. Jan 2013, 13:25
Hallo Delphianer,

wieder ein mal versuche ich mich an Pointern ...

folgender Code funktioniert im Delphi 2009, aber nicht so richtig:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);

  procedure fktCopy (APointer : Pointer ; AText : string);
  begin
    CopyMemory(APointer,PChar(AText),2*length(AText)+1);

  end;
var
  sStr , sData : WideString;
  pStr : Pointer;
begin
  sData := '123';
  sStr := 'Hallo Welt';
  pStr := PChar(sStr);

  fktCopy (pStr,sData);

  ShowMessage (sStr);

end;
Die Messagebox zeigt mir "123" als Ergebnis an.

Tatsächlich steht aber in  sStr ='123'#0'o Welt' .
Ich möchte aber, dass der Inhalt der Variable sStr durch den Inhalt der Varable sData komplett ersetzt wird, also das quasi in sStr '123' als Inhalt steht.
Wie kann ich in meiner fktCopy-Procedure die Länge des Strings korrekt setzen?
  Mit Zitat antworten Zitat