Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.29;
Скачать: CL | DM;

Вниз

Проблемы с DataSet и MDI формой   Найти похожие ветки 

 
dim- ©   (2002-08-05 22:28) [0]

У меня проект MDI Application. из MDI формы на которой лежит Sprav:TAdoQuery открываю модально диалог в котором надо работать с Sprav:TAdoQuery, но напрямую с ним работать не могу (выдает ошибку что нет такой формы)
Как сделать что-бы можно было работать с Sprav:TAdoQuery из MDI формы в модальном окне.


 
VAleksey ©   (2002-08-06 06:42) [1]

либо ты эту форму не создал, либо ее св-во типа FormStyle = fsMDIChaild. Посмотри.


 
roottim   (2002-08-06 08:23) [2]

а DataModule не пробовал пользоваться :)


 
ЮЮ ©   (2002-08-06 08:54) [3]

А, может быть, ему для каждой формы нужен свой запрос? :-))
Перед вызовом модальной формы передавать ей Sprav


 
dim- ©   (2002-08-06 09:55) [4]

to: ЮЮ
обьявить переменную типа Sp:TSprav и присвоить ей Sp:=Sprav?


 
ЮЮ ©   (2002-08-06 10:00) [5]

Только типа TAdoQuery :-)


 
dim- ©   (2002-08-07 10:00) [6]

пробовал я так :-(
ругается что ошибка в строке подключения


 
dim- ©   (2002-08-08 09:48) [7]

Народ!!!
как можно выкрутится?
Если передаю переменную типа TAdoQuery при попытке обратится к ней, выдается ошибка "Missing Connection or ConnectionString"
Что еще можно попробовать???????


 
3JIA9I CyKA ©   (2002-08-08 09:51) [8]

Задавай Connection явно/насильно.


 
ЮЮ ©   (2002-08-08 10:57) [9]

Я не поленился и сделал такое приложение и всё работает.

>но напрямую с ним работать не могу (выдает ошибку что нет такой формы)
Надо не из модальной формы обращаться к 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, лежащая на ЬВШ, естественно должна быть настоена и работать :-)






 
dim- ©   (2002-08-08 10:59) [10]

Все нашел ошибку. спасибо



Страницы: 1 вся ветка

Текущий архив: 2002.08.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
6-95924
Monak
2002-06-20 20:19
2002.08.29
IP и хост


14-95978
AL2002
2002-08-05 11:24
2002.08.29
Нужна фотка козырного баклажана...


1-95868
Tahion
2002-08-17 09:55
2002.08.29
как создать окно сообщения , чтоб был флажок


3-95668
яСергей
2002-08-08 02:21
2002.08.29
Базы данных


4-96034
Dmk
2002-06-27 03:59
2002.08.29
WM_HSCROLL