@EVOSandru6

Как в CBuilder организовать объявление свойства?

Добрый день,

Есть Main юнит (vcl form application). Cpp файл:

#ifndef MainH
#define MainH
#include "classes/Department/Department.h"  // пробовал #include "Department.h"
...


Есть Department.h файл (простой unit без vcl), который описывает в себе класс, одно свойство которого должно быть указателем на TADOQuery компонент:

#ifndef DepartmentH
#define DepartmentH

class Department{

	private:
		// код цеха
		int devCode;
		// нижние 2 наверное нафиг
		TADOQuery * depQuery;
		// Запрос
		// TADOQuery * query;
		// DataSource
		TDataSource * source;
		// Лукап комбобокс
		TDBLookupComboBox * lookup;
		// заголовок
		TLabel * label;

                ... 
	public:
        ... 
};


Я подключил Main юнит в Department.h (В Main форме компоненты TADOQuery, DataSource отрабатывают, решил Вынести кое-что в классы и возникла ошибка)
При компиляции выпадает:

[BCC32 Error] Department.h(43): E2303 Type name expected
Full parser context
Data.cpp(8): #include Data.h
Data.h(6): #include Main.h
Main.h(21): #include classes\Department\Department.h
Department.h(35): class Department

[BCC32 Error] Department.h(43): E2139 Declaration missing ;
Full parser context
Data.cpp(8): #include Data.h
Data.h(6): #include Main.h
Main.h(21): #include classes\Department\Department.h
Department.h(35): class Department


На строки, где объявляются свойства:

TADOQuery * depQuery;
TDataSource * source;
TDBLookupComboBox * lookup;


Как быть?
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
EndUser
@EndUser
А в каком заголовнике объявляется TADOQuery-то?
Или вы надеетесь скопипастить Department.h внутрь Main.cpp аккурат после того как TADOQuery будет объявлен в Main.cpp?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Mercury13
Программист на «си с крестами» и не только
Вот, допустим, подсказка по XE2.
Data.Win.ADODB.TADOQuery

Type  | Visibility | Source             | Unit           | Parent 
class | public     | Data.Win.ADODB.pas | Data.Win.ADODB | Data.Win.ADODB 
                   | Data.Win.ADODB.hpp |


Вот и подключаешь <Data.Win.ADODB.hpp>. В более ранних версиях Builder придётся подключать просто <ADODB.hpp>.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы