This is topic Внешние функции - dll in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000691.html

Posted by _Alexander_ (Участник № / Member № 3795) on :
 
Подскажите как правильно создавать dll, как должны быть объявлены функции? Возможно существует SDK для создания внешних dll.
Какой компилятор использовать для создания dll?
Не могу найти ни одного документа, где бы это было описано. Подскажите где можно прочитать об этом.
Заранее спасибо.
 
Posted by Romсheg (Участник № / Member № 3792) on :
 
Лучше всего внешние DLL создавать на С++ в средах: MS VS C++ 6.0 или MS VS C++ 2003. Пробовал делать в MS VS C++ 2005, но не заработало, видимо из-за особенностей managed кода.
Правила создания - такие же как и для всех DLL - это можно и в MSDN почитать. Из особенностей - те функции, которые хотите вызывать из DLL в ТМ, должны быть экспортируемыми (надо правильно их определить в самой DLL), например так:
extern "C" __declspec(dllexport) int __cdecl GetTankPH(int TankID)

И еще одна из особенностей - при подключении и описании аргументов внешних функций из подключаемой DLL все аргументы типа int в ТМ указывайте как long. Иначе возможны ошибки в реальном времени работы МРВ при обращении к DLL. Ну - это из личного опыта. [Улыбка / Smile]
 
Posted by Alexandra (Участник № / Member № 3317) on :
 
а поддерживает ли MicroTM внешние dll ?
 
Posted by Romсheg (Участник № / Member № 3792) on :
 
Насколько я знаю - нет.
Хотя под Микро МРВ для одного контроллера под управлением MS WinCE 5.0 писал драйвер УСО как RWH.DLL, но сомневаюсь, что под данную ОС API вызова внешних DLL будет работать и в математике.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
МикроМРВ не поддерживает внешние dll.
 
Posted by Baikal_E (Участник № / Member № 4135) on :
 
Поддерживает ли EmbeddedRTM внешние dll в WinCE ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
МикроМРВ (в том числе и для CE) не поддерживает внешние dll.
 
Posted by Baikal_E (Участник № / Member № 4135) on :
 
Спасибо за ответ!!!!
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2