Подключение функции из DLL

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
win
Новичок
Сообщения: 26
Зарегистрирован: 24 ноя 2010, 13:10

Подключение функции из DLL

Сообщение win »

Исходные данные:
функция из DLL

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

extern "C" void _fastcall _declspec(dllexport) FILLSTRUCT(ShortString * _kod, int _color);
Импортируем функцию из DLL в VIP(inc файл)

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

procedure PrepareData(string, longInt); external 'GalVisio.dll#@FILLSTRUCT';
затем в функции FILLSTRUCT добавляю еще 1 параметр, соответственно и в PrepareData добавляю параметр.

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

extern "C" void _fastcall _declspec(dllexport) FILLSTRUCT(ShortString * _kod, int _color, ShortString * _NameObj);

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

procedure PrepareData(string, longInt, string); external 'GalVisio.dll#@FILLSTRUCT';
При компиляции возникает ошибка: "Повторная перерегистрация функции не совпадает с используемой".
Приходится менять название функции на другое PrepareData1...
Что нужно сделать, чтобы не менять названия функция после каждой переделки DLL?
LaaLaa

Re: Подключение функции из DLL

Сообщение LaaLaa »

Нужно очищать служебный рабочий ресурс компилятора.
Для сточного компилятора VIP.EXE по умолчанию это это ресурс Atlantis_User.res (или задается параметром VIP.CFG Compilers.SubServientResource). В Viper этот ресурс указывается в настройках проекта "Компилятор VIP \ Ресурсы \ Имя служебного ресурсного файла"
win
Новичок
Сообщения: 26
Зарегистрирован: 24 ноя 2010, 13:10

Re: Подключение функции из DLL

Сообщение win »

Спасибо за помощь! :cool:
Ответить