Funcion FtpCommand de Wininet.pas

Delphi define en la unit Wininet.pas la función FtpCommand así:

function FtpCommand(hConnect: HINTERNET; fExpectResponse: BOOL;
  dwFlags: DWORD; lpszCommand: PChar; dwContext: DWORD): BOOL; stdcall;

Mientras que microsoft la define así:

BOOL FtpCommand(
  HINTERNET hConnect,
  BOOL fExpectResponse,
  DWORD dwFlags,
  LPCTSTR lpszCommand,
  DWORD_PTR dwContext,
  HINTERNET* phFtpCommand
);

Y esta "pequeña" diferencia en los parámetros me ha vuelto loco durante mas de una hora, al provocar fallos en el acceso a la memoria que terminaban por tumbar mi aplicación, pero lo mas gracioso es que el fallo no lo provocaba en el momento de ejecutarla, sino que el daño quedaba ahí, haciendo fallar el programa en otro punto diferente. Casi me vuelvo loco.

En fin, por si alguien tenia pensado usar la función, le aconsejo que utilice esta otra:

function FtpCommand2(hConnect: HINTERNET; fExpectResponse: BOOL; dwFlags: DWORD;
  lpszCommand: PChar; dwContext: DWORD; var phFtpCommand: HINTERNET): BOOL;
  stdcall; external 'Wininet.dll' name 'FtpCommandA';