for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Архив конференции по VFP до 2005 года
  

dll (C++Builder) - ошибка
AlexFV

Сообщений: 268
Откуда: Воронеж
Дата: 21.03.05 10:04:18
Создал в 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.03.05 10:15:35
функция должна иметь C компоновку:

#ifdef __cplusplus  
  extern "C"{  
  #endif  
  int dllF1(int p);  
  #ifdef __cplusplus  
  }  
  #endif
Ratings: 0 negative/0 positive

Re: dll (C++Builder) - ошибка
AlexFV

Сообщений: 268
Откуда: Воронеж
Дата: 21.03.05 11:16:08
to AnatolyS
Изминил h-файл как Вы написали. Ошибка не изчезла и не изменилась. Всё тоже.
Ratings: 0 negative/0 positive

Re: dll (C++Builder) - ошибка
piva

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




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: dll (C++Builder) - ошибка
Петров Андрей

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

Цитата:
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
Откуда: Воронеж
Дата: 21.03.05 11:59:45
Цитата:
Где-то должна быть секция EXPORTS

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

Re: dll (C++Builder) - ошибка
AlexFV

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

Да можно то и без параметра...дело не в этом.
Ratings: 0 negative/0 positive

Re: dll (C++Builder) - ошибка
ra3dct

Сообщений: 468
Откуда: nr. Moscow
Дата: 21.03.05 13:02:47
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.03.05 13:16:29
AlexFV
Изминил h-файл как Вы написали. Ошибка не изчезла и не изменилась. Всё тоже.

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



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

On-line: 10 sphinx Simple777 akvvohinc  (Гостей: 7)

03.12.2020 17:18:44 exec: 0.1
Mem: 1.229 Mb

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