Zitat von
Master_RC:
aber was ist sicherer?
Unter Delphi.Win32 ist beides gleich sicher, denn es ist nicht ohne Trickserei möglich, eienen String "mit" ohne Zeichen zu bekommen. Denn konvertiert man einen PChar in einen String, macht die Compilermagic automatisch NIL daraus, wenn der PChar leer ist. Wie folgender Code zeigt:
Delphi-Quellcode:
function GetP: PChar;
begin
Result := #0;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
S: string;
begin
S := GetP;
if Pointer(S) = nil then
ShowMessage('OK');
end;
Und bei einer Zuweisung von '' an eine String-Variable, wird die Variable automatisch auf NIL gesetzt.
Und wenn S = '' nicht immer funktionieren würde, hätte ich ein ziemlich großes Problem, was ich nicht habe.