|
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
|
|||||||||||||||||||||
Как сделать import класса TObject в обычный юнит?27.04.2015, 14:17. Показов 1907. Ответов 6
Метки нет (Все метки)
Добрый день,
Разбираюсь с инклюдами и алгоритмом подключения файлов в CBuilder. Есть Vcl application - Main (.cpp, .h) , а также Func unit (не vcl) В файле Main.h подключаю Func.h таким образом (после библиотечных, сгенерируемых инклюдов):
При компиляции ошибка ругается на объявление функции в файле Func.h:
[BCC32 Error] Func.h(21): E2147 'TObject' cannot start a parameter declaration Full parser context Department.cpp(6): #include classes\Department\Department.h Department.h(9): #include Main.h Main.h(9): #include Data.h Data.h(7): #include Func.h И почему то ругается на UnicodeString в этом же файле:
[BCC32 Error] Func.h(39): E2141 Declaration syntax error Full parser context Department.cpp(6): #include classes\Department\Department.h Department.h(9): #include Main.h Main.h(9): #include Data.h Data.h(7): #include Func.h Я очень запутался с этими билдеровскими подключениями, помогите пожалуйста, в чем причина может быть и где я ошибаюсь.
0
|
|||||||||||||||||||||
| 27.04.2015, 14:17 | |
|
Ответы с готовыми решениями:
6
Как сделать import? Как сделать юнит тест для функции, которая находит максимальное из 3 чисел?
|
|
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
|
|
| 27.04.2015, 17:47 [ТС] | |
|
Что почитать на тему раздельной компиляции?
Если тут ошибка, то как вытянуть ресурс, дабы сделать возможным создание TObject экземпляра?
0
|
|
|
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
|
|
| 28.04.2015, 08:17 [ТС] | |
|
Я так понял, что подключать Main.h нужно именно в Func.h , т.к. в Main юните(.cpp, .h) подключаются devexpress библиотеки и библиотеки элементов формы. А в Func.h инициализируются объекты с использованием классов данных библиотек.
Прочитал статью https://code-live.ru/post/sepa... on-cpp/#_3 - Тут рассматривается очень простой случай, когда без проблем сторонние .h файлы можно подключать из .cpp , но в моем случае необходимы указанные библиотеки. Или же впихнуть все библиотеко подключения из Main юнита в отдельный юнит и подключать его ив Main юните и в Func юните?! Но.. пробовал копировать подключения к библиотекам из файла Main.h и вставлял их в Func.h , но вывалилось redeclaration, т.е. эти библиотеки все таки считались при подключении Main.h в Func.h
0
|
|
|
|
||
| 28.04.2015, 11:43 | ||
Сообщение было отмечено EVOSandru6 как решение
РешениеРазберись с этапами компиляции и с тем что происходит при компиляции, во что превращаются твои h и сpp Более того твои попытки противоречат здравому смыслу, если ты выносишь что-то в отдельный юнит это означает что он должен быть максимально независим от всего другого, включать хедеры только те что нужно, а не все подряд. Добавлено через 6 минут Если используешь TObject то подключай System.hpp http://docwiki.embarcadero.com... em.TObject аналогично и другое
1
|
||
|
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
|
|
| 28.04.2015, 11:59 [ТС] | |
|
Спасибо, немного с этими ошибками разрулил. Теперь подключаю нужные .h файлы в .cpp файлах
0
|
|
| 28.04.2015, 11:59 | |
|
Помогаю со студенческими работами здесь
7
Использовать внешнюю функцию ToString в наследнике класса TObject
Как сделать идентичный обычный калькулятор Виндовса в делфи Может ли юнит-тест метода класса зависеть также от других методов? Как сделать процедуру (др. юнит), в которую будет вводится название StringGrid'а и она будет его заполнять? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|