Mega Code Archive

 
Categories / Delphi / OOP
 

[] Casting a [long] string to a pchar

There are three ways to cast a String to a pchar: typecast as pchar take the address of the first character: and typecast the string to a generic pointer. For a comparison, read the comments in the following code snippet: var s : String; // long p : PChar; begin // Typecast as pchar // Typecasting a string to a PChar returns the address of the first char // or if the string was empty it returns the address of a null. // Result p is guaranteed to be non-nil! p := PChar(s); // Take address of the first character // this forces a call to UniqueString() to ensure that the pchar returned // points to a unique string only referenced by s and not by another string: p:=@s[1]; // Typecast the string to an untyped pointer // The simplest and fastest solution; no hidden function call is generated. p := pointer(s); end.