AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 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 такой механизм работает.

Где глюк????
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с самописной DLL. VAlek DAX: Программирование 18 28.12.2008 10:37
axaptapedia: WinInet class Blog bot DAX Blogs 0 28.09.2007 20:54
Client Axapta 3.0 SP4 и Linux. Как запустить? Daiver DAX: Администрирование 10 28.06.2007 15:59
Axapta Lessons: Axapta DLLs Blog bot DAX Blogs 0 28.10.2006 18:22
при вызове функции из своей DLL, вылетает ошибка Delfins DAX: Программирование 9 07.03.2006 19:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:50.