RAD Studio Athens

W1044

Go Up to Error and Warning Messages (Delphi)

Identifier

The identifier for the $WARN directive: SUSPICIOUS_TYPECAST

Description

This warning flags typecasts like PAnsiChar(String) or PChar(AnsiString), which are casting between different string types without character conversion. If the code generating this warning calls a Win32 API routine, be sure that you use the wide version of the Win32 API routine when passing a String parameter:


var
  S: AnsiString;
begin
  MessageBox(0, PChar(S), 'Error', MB_OK);
end;

needs to be corrected to:


var
  S: AnsiString;
begin
  MessageBoxA(0, PAnsiChar(S), 'Error', MB_OK);
end;