![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с DataSet и MDI формой [D6, MSSQL]
dim- © (2002-08-05 22:28:00)У меня проект MDI Application. из MDI формы на которой лежит Sprav:TAdoQuery открываю модально диалог в котором надо работать с Sprav:TAdoQuery, но напрямую с ним работать не могу (выдает ошибку что нет такой формы)
Как сделать что-бы можно было работать с Sprav:TAdoQuery из MDI формы в модальном окне.
dim- (2002-08-08 10:59:00) [1]Все нашел ошибку. спасибо
ЮЮ (2002-08-08 10:57:00) [2]Я не поленился и сделал такое приложение и всё работает.
>но напрямую с ним работать не могу (выдает ошибку что нет такой формы)
Надо не из модальной формы обращаться к MDI, а перед вызовом модальной определить ей параметры, например,
1) на ModalForm есть DataSourсe, к кторорому привязаны DBAware компоненты, тогда перед вызовом определяем DataSet, который лежит на MDI forme:
FormModal.DataSource1.DataSet:=ADOQuery1;
FormModal.ShowModal;
2) на ModalForm нет DataSourсe, а надо просто передать ADOQuery1
В unite ModalForm заводим переменную в интерфес-секции (или добавляем Property, что более элегантно) и перед вызовом присваеваем ей значение:
// из юнита MDI
uses main, Modal;
procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TMDIChild.Button1Click(Sender: TObject);
begin
ModalADOQuery:=ADOQuery1;
FormModal.ShowModal;
end;
// из юнита Modal
var
FormModal: TFormModal;
ModalADOQuery:TADOQuery;
implementation
{$R *.dfm}
procedure TFormModal.FormShow(Sender: TObject);
begin //используем присвоенное значение ModalADOQuery
DataSource1.DataSet:=ModalADOQuery;
end;
>Если передаю переменную типа TAdoQuery при попытке обратится к ней, выдается ошибка "Missing Connection or ConnectionString"
ADOQuery1, лежащая на ЬВШ, естественно должна быть настоена и работать :-)
3JIA9I CyKA (2002-08-08 09:51:00) [3]Задавай Connection явно/насильно.
dim- (2002-08-08 09:48:00) [4]Народ!!!
как можно выкрутится?
Если передаю переменную типа TAdoQuery при попытке обратится к ней, выдается ошибка "Missing Connection or ConnectionString"
Что еще можно попробовать???????
dim- (2002-08-07 10:00:00) [5]пробовал я так :-(
ругается что ошибка в строке подключения
ЮЮ (2002-08-06 10:00:00) [6]Только типа TAdoQuery :-)
dim- (2002-08-06 09:55:00) [7]to: ЮЮ
обьявить переменную типа Sp:TSprav и присвоить ей Sp:=Sprav?
ЮЮ (2002-08-06 08:54:00) [8]А, может быть, ему для каждой формы нужен свой запрос? :-))
Перед вызовом модальной формы передавать ей Sprav
roottim (2002-08-06 08:23:00) [9]а DataModule не пробовал пользоваться :)
VAleksey (2002-08-06 06:42:00) [10]либо ты эту форму не создал, либо ее св-во типа FormStyle = fsMDIChaild. Посмотри.