Hi Luckie,
schöner Client
Ich habe dein Problem mit dem verzeichnis übrigens gelöst: lenDir ist bei dir IMMER 0, weil FtpGetCurrentDirectory immer nur so viele Zeichen kopiert, wie das letzte Flag angibt (und dann den Wert so äbändert, dass die wirklich kopierten Ziechen drinstehen). So musst du also lenDir nicht mit 0, sondern mit MAX_PATH initialisieren:
Code:
procedure GetCurDir(
handle: Cardinal);
var
szBuffer: array[0..255] of Char;
szDir: PChar;
lenDir: DWORD;
begin
lenDir := MAX_PATH;
FTPGetCurrentDirectory(hFTPSession, nil, lenDir);
GetMem(szDir, lenDir);
FTPGetCurrentDirectory(hFTPSession, szDir, lenDir);
lstrcpy(szBuffer, 'aktuelles Verzeichnis: ');
lstrcat(szBuffer, szDir);
SendMessage(GetDlgItem(
handle, IDC_LSTMSG), LB_ADDSTRING, 0, Integer(@szBuffer));
FreeMem(szDir);
end;
MfG,
d3g