Bien, en estos casos lo mejor es tener control sobre la memoria que se esta usando.
Código Delphi
[-]
procedure Resultado(Str: PChar; L: Integer);
begin
StrLCopy(Str,PChar('Pepe'+DateToStr(Time)),L);
end;
function Comprobar(Str: String): Boolean;
var
Buffer: PChar;
begin
GetMem(Buffer,32);
try
Resultado(Buffer,31);
Result:= StrComp(Buffer,PChar(Str)) = 0;
finally
FillChar(Buffer^,32,#0);
FreeMem(Buffer);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMEssage(BoolToStr(Comprobar('Hola')));
end;