Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235

Использование dll, Declaration terminated incorrectly

19.12.2012, 15:02. Показов 5656. Ответов 47
Метки нет (Все метки)

Делал все по инструкции Dynamic-Link Library: Теория + Практика
но вылазит ошибка вот что
[BCC32 Error] Unit4.cpp(10): E2040 Declaration terminated incorrectly
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2012, 15:02
Ответы с готовыми решениями:

Declaration terminated incorrectly
Здравствуйте, вот часть кода, проблемма в нем при компиляции выдаёт такую ошибку: E2040 Declaration terminated incorrectly в чем дело ?...

Declaration terminated incorrectly - C++
Привет всем.Вот код: //-------------все работает нормально for (int i=0;i<8;i++) {for (int j=0;j<20;j++) ...

Declaration terminated incorrectly
Помогите у меня две ошибки в коде, не могу понять в чем дело: перед 1-ым и 2-ым if-ом...

47
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
20.12.2012, 18:58  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Вот переделал проект, но может не перекомпилиться на младших версиях так как у меня XE3.

В TESTDLL.cpp пришлось определить TESTDLL_EXPORTS что бы библиотека собралась по примеру MikeSoft

C++
1
2
#define TESTDLL_EXPORTS  // !!! !!! !!!
#include "TESTDLL.h"
Спасибо
пришлось определить TESTDLL_EXPORTS что бы библиотека собралась по примеру MikeSoft
а если не по примеру? легче будет?
Мне нужно 3 DLL сделать, в 1 dll функции подсчета в другой api-шные функции в третей остальное
Возможно как то попроще подключать библиотеки?)
помню в php написал include_once("file.php") и все
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.12.2012, 19:03
Цитата Сообщение от ExpressS Посмотреть сообщение
Возможно как то попроще подключать библиотеки?)
помню в php написал include_once("file.php") и все
Подключил хедер, подключил либ что сложного ?
Цитата Сообщение от ExpressS Посмотреть сообщение
а если не по примеру? легче будет?
Используйте пример из книги Архангельского. ( как я сказал уже нужно изменить только макрос TESTDLL_EXPORTS на __DLL__ тогда ничего не надо менять в TESTDLL.cpp)
1
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
20.12.2012, 19:28  [ТС]
Используйте пример из книги Архангельского.
Вот эта книжка?
Миниатюры
Использование dll, Declaration terminated incorrectly  
0
 Аватар для Крюгер
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
20.12.2012, 20:12
ExpressS, у вас какой компилятор, уважаемый?
я в борланде возился с этим, пришлось переделать, как - нашел где то на просторах гугла
этот пример по моему для визуал мелкософта
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.12.2012, 20:26
1
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
20.12.2012, 21:52  [ТС]
Ув Avazart уделите мне пожалуйста еще 2 мин вашего времени
сделал все по книге
Вложения
Тип файла: rar Архив WinRAR.rar (8.83 Мб, 10 просмотров)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.12.2012, 21:54
И что ??
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
20.12.2012, 22:05  [ТС]
в архиве проект, посмотрите

Добавлено через 19 секунд
вложения
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.12.2012, 22:14
Думайте мозгами, я за Вас прДон, быдлокод править не буду... пример кода у вас есть...

P.S. Научитесь файлам давать адекватные имена, и уясните разницу между Click() и click() ...
а то до dll- вам далеко, учили бы php
1
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
20.12.2012, 23:10  [ТС]
Имена как в книге
исправил имя функции не работает
пример кода у вас есть...
есть но хочется как в книге и чтобы работало

Не нужно нечего править, ткните меня на ошибку

Добавлено через 10 минут
название исправил теперь E2268 Call to undefined function 'сlick'

Добавлено через 29 минут
Ура заработало как в книге !!!
завтра конец света
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.12.2012, 23:12
Цитата Сообщение от ExpressS Посмотреть сообщение
завтра конец света
Когда все дела сделаны, можно упокоиться с Миром
1
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
22.12.2012, 18:14  [ТС]
опять у меня ни чего не работает весь вечер мучаюсь помогите пожалуйста
сама dll
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <windows.h>
#include "head.h"
#pragma hdrstop
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
    return 1;
}
//---------------------------------------------------------------------------
void en(void)
{
   ShowMessage("I am function");
 
}
файл head.h
C++
1
2
3
4
5
6
7
8
9
#ifndef _head_h
#define _head_h
#ifdef __DLL__
# define DLL_EI __declspec (dllexport)
#else
# define DLL_EI __declspec(dllimport)
#endif
extern __declspec(dllimport) void en(void);
#endif
файл unit4.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "head.h"
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm4::Button1Click(TObject *Sender)
{
 en();
}
вот такую ошибку показывает
[ILINK32 Error] Error: Unresolved external 'en()' referenced from C:\SS\DEBUG\UNIT4.OBJ
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.12.2012, 18:17
Цитата Сообщение от ExpressS Посмотреть сообщение
C++
1
2
3
4
5
6
7
#ifdef __DLL__
# define DLL_EI __declspec (dllexport)
#else
# define DLL_EI __declspec(dllimport)
#endif
extern __declspec(dllimport) void en(void);
#endif
Ну собственно в мой пример вы не смотрели ...

Смысл вам помогать ?
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
22.12.2012, 18:36  [ТС]
дак я по книжке делаю, и где ошибка понять не могу

Добавлено через 2 минуты
Помогите пожалуйста я 1,5 часа сидел все проверил по 10 раз
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.12.2012, 18:39
Цитата Сообщение от ExpressS Посмотреть сообщение
дак я по книжке делаю, и где ошибка понять не могу
Смотрю в книгу вижу фигу ...

Добавлено через 1 минуту
Цитата Сообщение от ExpressS Посмотреть сообщение
Помогите пожалуйста я 1,5 часа сидел все проверил по 10 раз
Хреного проверяете...
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
22.12.2012, 21:02  [ТС]
ну где ошибка то ?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.12.2012, 21:03
в невнимательности...
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
22.12.2012, 22:50  [ТС]
ну я все что можно пробовал
скажите уже а

Добавлено через 48 секунд
C++
1
2
3
4
5
6
7
8
9
#ifndef _head_h
#define _head_h
#ifdef __DLL__
# define DLL_EI __declspec (dllexport)
#else
# define DLL_EI __declspec(dllimport)
#endif
extern DLL_EI void en(void);// эта строчка неправильная ?
#endif
Добавлено через 1 час 44 минуты
C++
1
2
3
4
extern "C" char * DLL_EI Code_Dec(char *s, char Key);// как в эту строку подставить мою функцию ?
 
 
int sum (int a,int b)
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
23.12.2012, 03:01
ExpressS, вот содержимое трех файлов (кроме *.bpr), создающих файл mydll.dll, который экспортирует функцию Sum, суммирующую два параметра int. В дальнейшем к проекту достаточно подключить библиотеку mydll.lib, которая создается при компиляции, приписать строчку #include "mydll.h" и можно будет применять функцию Sum(int, int). Указывать, что не так в твоих наработках, я не буду; сумеешь самостоятельно проанализировать пример (это уже второй) - гут; нет - Архангельский под рукой. Успехов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//---------------------------------------------------------------------------
///** file mydll.bpf ***
//
USEUNIT("Unit2.cpp");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
 
 
DllEntryPoint
//---------------------------------------------------------------------------
///*** file Unit2.cpp  ***
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{   return 1;  }
//---------------------------------------------------------------------------
extern "C" __declspec(dllexport) int _stdcall Sum(int x,int y)
  {  return x+y ;  }
//---------------------------------------------------------------------------
///** file mydll.h ***
//
#ifndef __MYDLL_H__
#define __MYDLL_H__
 
extern "C" { int _stdcall Sum(int x,int y);  }
 
#endif
//---------------------------------------------------------------------------
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
23.12.2012, 09:30  [ТС]
вы или сами не знаете или издеваетесь
мне нужно указать где у меня ошибка в 32 посте и все
больше ни чего не надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2012, 09:30

Исправить ошибку в коде: E2040 Declaration terminated incorrectly
Ошибка указывает на первую строку, не могу понять Unit2.cpp(160): E2040 Declaration terminated incorrectly if(Edit1-&gt;Text...

[C++ Error] kurscpp.cpp(4): E2040 Declaration terminated incorrectly
#include &lt;windows.h&gt; #include &lt;stdio.h&gt; #pragma hdrstop extern &quot;C&quot; _stdcall DATE(char *, char *, char *); void main() { ...

"E2090: Qualifier 'Date0' is not a class or namespace name" и "E2040: Declaration terminated incorrectly"
Подскажите пожалуйста,в чем ошибка? //--------------------------------------------------------------------------- #include...

Ошибка при компиляции: "E2275 { expected" и "E2040 Declaration terminated incorrectly"
Здравствуйте! При компиляции выдает такую ошибку: C++ Error] Unit1.cpp(12): E2275 { expected Unit1.cpp(147): E2040 Declaration...

Declaration terminated incorrectly
#include&lt;stdio.h&gt; { int a,b,c; a=5; b=7; c=a*b; printf(&quot;multiplication=%d\n&quot;,c); } Помогите пожалуйста найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru