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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.03.2014, 11:53   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
В 3.0 нет никаких IntPtr; дескриптор, вероятнее всего, имеет тип не void, а void*. В данном случае при вызове функции cipherlabtcpCreate() нужно передать указатель на область памяти размером в 4 байта, куда функция запишет дескриптор - некое значение, имеющее смысл для других API-функций CipherLabTCP. Затем полученный дескриптор надо будет, вероятнее всего, по значению (а не по ссылке) передавать в прочие API-функции CipherLabTCP.
Пример того, как правильно через DLLFunction описать API-функцию, принимающую указатель в качестве параметра, и как потом получить записанное функцией значение, можно найти в WinAPI::getComputerName(). Что именно не получается с этим примером?

PS. Описывать через DLLFunction, будто бы функция cipherlabtcpCreate() вообще не принимает на вход параметров (ExtTypes::void), в корне неверно. Тип void* означает "нетипизированный указатель" и с ExtTypes::void он не имеет ничего общего; указатель в терминах DLLFunction - это ExtTypes::Pointer.

Последний раз редактировалось gl00mie; 04.03.2014 в 11:59. Причина: PS
Старый 04.03.2014, 12:26   #2  
ShkipeRR is offline
ShkipeRR
Участник
 
41 / 7 (1) +
Регистрация: 08.05.2013
Адрес: Владимир
с void* всё верно. Описание функции нашёл
Название: int cipherlabtcpCreate(void** ptrtohandle)
Входные параметры:
- ptrtohandle (OUT) - указатель на дескриптор сервера-компоненты (дескриптор имеет тип
void*), который используется в последующих вызовах, может быть равен NULL. Значение
дескриптора должно быть инициализировано NULL.
Выходные параметры: код ошибки
Описание: Инициализация компоненты-объекта сервера .Создается объект-сервера. Если
ptrtohandle равен NULL, подразумевается использование одной "глобальной" компоненты-сервера.
__________________
Axapta 3.0 SP6 Build 1951
Старый 04.03.2014, 14:46   #3  
ShkipeRR is offline
ShkipeRR
Участник
 
41 / 7 (1) +
Регистрация: 08.05.2013
Адрес: Владимир
gl00mie
Как я понимаю если указатель на дескриптор, то нужно пользоваться ExtTypes::Pointer, а если входной параметр Int, то тут нужно задавать как ExtTypes:_Word (Дворд)?
__________________
Axapta 3.0 SP6 Build 1951
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ax3 and Win2008 для печати Arahnid DAX: Администрирование 13 22.04.2013 17:07
MSDAX 4.0 и планировщик win server 2008 werov2010 DAX: Администрирование 11 16.08.2012 14:18
Ruslan Goncharov: Scrolling in AX 3.0 without dll Blog bot DAX Blogs 0 09.03.2008 23:20
Help! DLL описание функции в аксапте ivas DAX: Программирование 16 27.04.2006 19:15
при вызове функции из своей DLL, вылетает ошибка Delfins DAX: Программирование 9 07.03.2006 19:29
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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