Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизПередача DBHanle из осн. формы в dll-форму Найти похожие ветки
← →
Afonya (2003-01-31 17:26) [0]Доброе время суток.
Помогите мастаки с такой ситуацией.
Задача стоит так: Необходимо сделать небольшую программку, которая будет обслуживать БД.
Всё бы ничего, да вот только необходимо, чтобы такие этапы как "подключение к БД", её "редактирование"
были вынесены в отдельные окна, а те в свою очередь - в 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) [1]Afonya (31.01.03 17:26)> Да, DBHandle имени базы не передает. Более того, имена обоих Database.DatabaseName должны быть различны.
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.009 c