Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача DBHanle из осн. формы в dll-форму [D5, InterBase]


Afonya ©   (2003-01-31 17:26:00) 

Доброе время суток.
Помогите мастаки с такой ситуацией.
Задача стоит так: Необходимо сделать небольшую программку, которая будет обслуживать БД.
Всё бы ничего, да вот только необходимо, чтобы такие этапы как "подключение к БД", её "редактирование"
были вынесены в отдельные окна, а те в свою очередь - в dll-ки.
Для этого было сделано 2 dll-ки
1) подключение формы "Ауторизации (идентификации) пользователя"
иными словами LOGIN
procedure ShowLoginDialog(Handle : THandle; P : pointer);
begin
Application.Handle := Handle;
fLogin := TfLogin.Create(Application);
fLogin.LoginData := TLoginData(P);
fLogin.ShowModal;
fLogin.Free;
end;

,где Handle - заголовок окна того приложения, которое вызывает dll-ку "подключение"
P - указатель на запись
TLoginData = class
modalResult : TModalResult;
user_id, password : shortString;
constructor Create;
end;

2) подключение формы "Редактирование БД"
procedure ShowPersonList(Handle : THAndle; const DBHandle : HDBIDB);
begin
Application.Handle := Handle;
fPersonList:=
TfPersonList.Create(Application);
fPersonList.Database2.Handle := DBHandle;
fPersonList.ShowModal;
if assigned(fPersonList) then fPersonList.Free;
end;
, где DBHandle - заголовок компонента типа TDataBase, который расположен
в главной (вызывающей) форме приложения.

Подключение происходит нормально, а вот при вызове "редактирование БД" кричит следующее:
"DataBase: DataBase name missing". Я так понял, что DBHandle не передает ни имени, ни вообще ничего.
Хотя должен.

Подскажите пожалуйста, в чем дело и как выйти из сложившейся ситуацией.


passm   (2003-01-31 18:30:00) [1]

Afonya (31.01.03 17:26)> Да, DBHandle имени базы не передает. Более того, имена обоих Database.DatabaseName должны быть различны.


Наверх

Титульная страница Поиск, карта сайта Написать письмо