Morgen.
Im
IRC gabs grad ne kleine Diskussion um das löschen des ersten Zeichens eines Strings. Ich hatte folgende Idee:
Delphi-Quellcode:
procedure DeleteFirstChar(var str: String);
var addr: Pointer;
begin
addr:=@str[1];
str:=PChar(@str[2]);
freemem(addr, sizeof(Char));
end;
Tja, gibt nur leider ne ungültige Pointeroperation bei freemem.
Warum?
Ich kann per addr^ noch auf den Char zugreifen, aber seltsamerweise nicht löschen.