C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Область видимости или что и как?, Доступ к DBModule.
Vaq
Отправлено: 31.05.2003, 00:39


Не зарегистрирован







Доброй дня и ночи!

Можете объяснить такую ситуацию:
CODE
Если в Project Inspectore в поле DataSource, любой контры, прописать DataModule1->DataSet1, то она отлично работает без подключения заголовка DataModule. А вот программно:
DBEdit1->DataSource = DataModule1->DataSet1;
естественно выдаст ошибку при компиляции(не определена DataModule1).


Если это фича BC5, то как можно добраться до DataModule1 без подключения заголовка?

Всего ВАМ и без debug'а!
pasha
Отправлено: 31.05.2003, 14:32


Дежурный стрелочник

Группа: Участник
Сообщений: 62



Никак, подключать заголовок вы должны

Если например у вас DBEdit находится на форме в Unit1,
а DataSource в модуле DataModule в Unit2.
вы должны подключить в Unit1 этот Unit2.
то есть в Unit1.cpp вписать #include "Unit2.h"
или через меню File->Include Unit Hdr и указать заголовочный
файл этого модуля
Vaq
  Отправлено: 02.06.2003, 19:02


Не зарегистрирован







Это-то все понятно, что надо подключать и все такое! Но вопрос же в другом... Как это работает если я не подключаю заголовок, а указываю ручками DataSet? Если это работает КАК-ТО, то насколько это стабильно.
Pasha: Можно и не поключая заголовок, добраться до любой TTable, если повесить DBкотру, к ней подлючить DataSource. А дальше по прототипу. TTable *tmpDT=(TTable*)Edit1->DataSource->DataSet;
Компилица, если внесены изменения и добавления в модуль с базой данной, только модуль без всяких подключений. Скорость выигрываешь в несколько раз. Особенно если у тебя мноооого подключений. Вот и я хочу узнать эту технологию! Как это без заголовка и без проблем. У меня идея только в файлах ДФМ, они же только линкуются с общими объектами. А у тебя есть мысли?

Вернуться в Работа с базами данных в C++Builder