:: Архив конференции по VFP до 2005 года
dll (C++Builder) - ошибка
AlexFV
Автор

Сообщений: 268
Откуда: Воронеж
Дата регистрации: 24.12.2003
Создал в Buildere dll c функцией dllF1. Код:
//---------------------------------------------------------------------------
#include <windows.h>
#include <mydll.h>
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
__declspec(dllexport) int dllF1(int p){
return ++p;
}
//------------------------------

В заголовочном файле mydll.h описал эту функцию:
int dllF1(int p);

Хочу вызвать её из VFP:
DECLARE integer dllF1 in mydll.dll
a=dllF1(5)
На второй строке возникает ошибка:
Cannot find entry point dllF1 in the DLL Что не так?
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
AnatolyS

Сообщений: 4565
Откуда: Санкт-Петербург
Дата регистрации: 21.01.2002
функция должна иметь C компоновку:

#ifdef __cplusplus
extern "C"{
#endif
int dllF1(int p);
#ifdef __cplusplus
}
#endif
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
AlexFV
Автор

Сообщений: 268
Откуда: Воронеж
Дата регистрации: 24.12.2003
to AnatolyS
Изминил h-файл как Вы написали. Ошибка не изчезла и не изменилась. Всё тоже.
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Где-то должна быть секция EXPORTS




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
Петров Андрей

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
А где описание параметра то?

Цитата:
DECLARE integer dllF1 in mydll.dll
a=dllF1(5)

Может так?

DECLARE integer dllF1 in mydll.dll Integer
a=dllF1(5)




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
AlexFV
Автор

Сообщений: 268
Откуда: Воронеж
Дата регистрации: 24.12.2003
Цитата:
Где-то должна быть секция EXPORTS

Дык я ж написал :
__declspec(dllexport)
- спецификатор класса памяти позволяет не только экспортировать функции и объекты определенные с ним, но и позволяет обойтись без файла определений (.def)
Я вот думаю Builder глючит...
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
AlexFV
Автор

Сообщений: 268
Откуда: Воронеж
Дата регистрации: 24.12.2003
Цитата:
А где описание параметра то?

Да можно то и без параметра...дело не в этом.
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
ra3dct

Сообщений: 468
Откуда: nr. Moscow
Дата регистрации: 06.10.2003
DECLARE integer dllF1 in mydll.dll
a=dllF1(5)

Либо я чего-то не понимаю, либо декларация неверна

DECLARE integer dllF1 in mydll.dll integer np




------------------
Не в сети. VFP6 + SP5
Ratings: 0 negative/0 positive
Re: dll (C++Builder) - ошибка
AnatolyS

Сообщений: 4565
Откуда: Санкт-Петербург
Дата регистрации: 21.01.2002
AlexFV
Изминил h-файл как Вы написали. Ошибка не изчезла и не изменилась. Всё тоже.

А почему только в h-файле? Это касается не только декларации, но и определения - не думал, что такие вещи надо объяснять.
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 4 (Гостей: 4)

© 2000-2024 Fox Club 
Яндекс.Метрика