Проблема с вызовом Initial из dll

Вопросы по программе Lectus OPC/DDE Toolkit
Myandr

Проблема с вызовом Initial из dll

Сообщение Myandr »

Здравствуйте!
Я разрабатываю dll библиотеку на языке С++ для Lectus OPC/DDE Toolkit.
По моим логам я вижу, что
1) Библиотека загружается
2) Lectus вызывает экспортируемую функцию GetLcsDriver2(), но не GetLcsDriver(), как написано в Help.
Возвращается валидный указатель на объект, реализующий интерфейс ILcsDriver
3) Но OPC сервер не вызывает функцию ILcsDriver.Initial, соответственно, не появляется вкладка в окне "Добавить узел".

Скажите, пожалуйста, в чем может быть проблема? Возможно, OPC сервер хочет вызвать другую функцию и вовсе не Initial ?
Возможно, есть пример dll, написанной на C++?
Спасибо.

Ниже реализация функции GetLcsDriver2
extern "C" __declspec(dllexport) ILcsDriver *__stdcall GetLcsDriver2(void); //прототип
ILcsDriver *__stdcall GetLcsDriver2(void) //реализация
/*
Данную функцию вызывает OPC сервер
Функция возвращает указатель на объект, реализующий интерфейс ILcsDriver

*/
{
return pDBdriver;
}
Объвление метода Initial класса CLcsDBDriver (этот класс наследует интерфейс ILcsDriver).

Код: Выделить всё

void  __stdcall CLcsDBDriver::Initial(ILcsOPCServer* pOPCServer,  ILcsComPort* pComPort, 
				std::string &sName, std::string & sDescript, 
				std::string & sHelpFileName, ILcsReceiveData *pReceiveData)
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Проблема с вызовом Initial из dll

Сообщение admin »

1) Действительно вызывается GetLcsDriver2 и ожидается возврат на объект реализующий ILcsDriver, ILcsDriver2 или ILcsDriver3.
Возможно некорректно описан интерфейс ILcsDriver или он не привязан к GUID указанному PluginInterface.pas;

2) Примера на C++ к сожалению нет;

3) Возможно лучше использовать C++ Builder как более родственный к Delphi;

4) Можете выслать свою dll на lectussoft@gmail.com чтобы проверить почему не вызывается Initial/
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость