Показать сообщение отдельно
Старый 01.12.2004, 10:41   #1  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
работа с wininet.dll
Здравствуйте, господа!

Есть следующий код:

void PutFile(str 50 proxy, str 50 url, str 50 login, str 50 pass, str 50 local, str 50 remote)
{
DLL InetDll = new DLL('wininet');
DLLFunction InternetOpen = new DLLFunction(InetDll, 'InternetOpenA');
DLLFunction InternetConnect = new DLLFunction(InetDll, 'InternetConnectA');
DLLFunction FTPPutFile = new DLLFunction(InetDll, 'FtpPutFileA');
DLLFunction InternetCloseHandle = new DLLFunction(InetDll, 'InternetCloseHandle');

int res;

InternetOpen.returns(ExtTypes:Word);
InternetOpen.arg(ExtTypes::String);
InternetOpen.arg(ExtTypes:Word);
InternetOpen.arg(ExtTypes::String);
InternetOpen.arg(ExtTypes::String);
InternetOpen.arg(ExtTypes:Word);

hInternet = InternetOpen.call('Ax30', 3, proxy, '', 0);

InternetConnect.returns(ExtTypes:Word);
InternetConnect.arg(ExtTypes:Word);
InternetConnect.arg(ExtTypes::String);
InternetConnect.arg(ExtTypes::Word);
InternetConnect.arg(ExtTypes::String);
InternetConnect.arg(ExtTypes::String);
InternetConnect.arg(ExtTypes:Word);
InternetConnect.arg(ExtTypes:Word);
InternetConnect.arg(ExtTypes:Word);

hConnect = InternetConnect.call(hInternet, url, 21, login, pass, 1, 0, 0);

FTPPutFile.returns(ExtTypes:Word);
FTPPutFile.arg(ExtTypes:Word);
FTPPutFile.arg(ExtTypes::String);
FTPPutFile.arg(ExtTypes::String);
FTPPutFile.arg(ExtTypes:Word);
FTPPutFile.arg(ExtTypes:Word);

res = FTPPutFile.call(hConnect, local, remote, 2, 0);

InternetCloseHandle.returns(ExtTypes::Word);
InternetCloseHandle.arg(ExtTypes:Word);

InternetCloseHandle.call(hConnect);
InternetCloseHandle.call(hInternet);
}

Переменные hItnernet и hConnect объявлены в cassDeclaration

В таком виде данная ф-ция прекрасно работает, но хотелось бы чтобы каждая ф-ция из DLL была в отдельной ф-ции класса. В этом случае работать сразу перестает (ф-ция InternetConnect возвращает ошибку). В Delphi и VB такой механизм работает.

Где глюк????