Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 6 +MDI + MSSQL7 / 13 сообщений из 13, страница 1 из 1
04.01.2002, 15:43
    #32020202
Serge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
MDI Приложение. Из разных дочерних форм просматривается одна таблица через Grid-DataSource-Query. На Query.Close в любом окне все падает.
...
Рейтинг: 0 / 0
05.02.2002, 09:44
    #32022169
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
Дык на каждой форме должен быть свой query, тогда все будет хорошо
...
Рейтинг: 0 / 0
06.03.2002, 20:57
    #32024617
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
По-моему ответ Tygra не решает проблемы с MDI. Попробуйте для каждого окна открывать свою сессию
...
Рейтинг: 0 / 0
07.03.2002, 07:02
    #32024635
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
А причем тут сессии.

Если Query лежит где-то в одном месте, а все остальные смотрят на нее, то чего же еще может получиться при ее закрытии. Все и погаснет

Или уж не закрывайте вообще, или в каждом окне все свое (так по уму лучше будет, делай чего хочешь, никому не мешает)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.09.2003, 15:02
    #32262542
Delphi 6 +MDI + MSSQL7
Тут можно вполне обойтись без Query, я обычно создаю один Connection на главной форме и программно в DataSet загоняю нужные данные:
DataSet.RecordSet:= Connection.Execute('Запрос') а потом этим датасетом пользуюсь сколько душе угодно, устанавливая у DataSource всех таблиц этот датасет. И никаких проблем.
...
Рейтинг: 0 / 0
12.09.2003, 11:33
    #32263399
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
2 Небесная канцелярия:
Никаких проблем. Кроме невозможности визуальной разработки.
...
Рейтинг: 0 / 0
12.09.2003, 12:00
    #32263455
pavelf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
Кое что есть в Кулибе версии 1.4.6 от 1.4.2001
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
unit Childwin;
interface
uses Windows, Classes, Graphics, Forms, Controls,
ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids,
DataM; {!} // Модуль TDataModule1
type
TMDIChild = class(TForm)
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBNavigator1: TDBNavigator;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
{!} DM:TDataModule1;
{!} constructor Create(AOwner:TComponent); override;
end;
implementation

{$IFDEF XOXOXOX}  // DataM должен находиться в секции interface. Необходимо для среды

uses DataM;      // времени проектирования. Определение  "XOXOXOX"  подразумевает,
{$ENDIF}         // что это никогда не будет определено, но чтобы компилятор видел это.

{$R *.DFM}

{!} constructor TMDIChild.Create;
{!} begin
{!}   DM := TDataModule1.Create(Application);
{!}   inherited Create(AOwner);
{!}   DM.Name := '';
{!} end;

procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

end.
...
Рейтинг: 0 / 0
12.09.2003, 14:17
    #32263745
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
Это - дилемма с разными подходами : должны ли мы иметь один документ и несколько view или каждый view включает в себя свой документ.
Если документ один - он должен закрываться при закрытии, скажем, последнего view, ссылающегося на него.
Если же к каждой форме есть свой datamodule, то ведь хотелось бы еще иметь к нему доступ в design-time.
В design-time же видны либо глобальные переменные, либо automated члены класса. Я не нашел достойного ответа на вопрос - как сделать datamodule, привязанный к форме, но иметь доступ к нему в design-time. Единственный вариант, пришедший в голову - оставлять объявление глобальной var DataModule1:TDataModule1, и как-то перенаправлять ссылки с него на нужный компонент.
Может в Кулибе еще в DataM чего интересного написано ?
...
Рейтинг: 0 / 0
12.09.2003, 14:45
    #32263786
pavelf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
"Когда во время разработки вы устанавливаете "DataSource"-свойство в БД-компонентах для указания на модуль данных, VCL во время выполнения приложения будет пытаться создать связь с существующим TDataModule, основываясь на его свойтсве Name. Так, если вы добавите модуль данных к вашему проекту и переместите его в свойстве проекта из колонки автоматически создаваемых форм в колонку доступных, вы сможете разработать форму, содержащую элементы управления для работы с базами данных, после чего несколькими строчками кода можете создать экземпляр формы, имеющий экземпляр собственного модуля данных.

С помощью Репозитория создайте "standard MDI application" (стандартное MDI-приложение), в котором модуль TMDICHild будет похож на приведенный ниже. Добавленные строки имеют комментарий {!}. Хитрости спрятаны в конструкторе create и задании другого порядка следования операторов."

(С) Кулиба
:)
...
Рейтинг: 0 / 0
12.09.2003, 14:48
    #32263791
pavelf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
Согласен что это дилема, я в своем приложении сделал один документ и несколько View's. Хотя было бы интересно послушать мнения посетителей форума по этому вопросу...
...
Рейтинг: 0 / 0
12.09.2003, 17:02
    #32263970
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
Может быть лучше использовать TClientDataSet
...
Рейтинг: 0 / 0
12.09.2003, 23:58
    #32264217
Ray Adams
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
НУ незнаю как кто, а я если пишу MDI то на DataModule имею только Database и скажем один квери qCMD , котрый юзаю только для создания динамических простых запросов. Все остально сидит в самих формах MDIChild. Проблем никога не бывает, сама форма открывает свой query и она же его закрывает. Зачем городить огород? И в чем проблемма с дезайн режимом?
...
Рейтинг: 0 / 0
14.09.2003, 14:31
    #32264483
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 6 +MDI + MSSQL7
Проблема - например, если для одного документа надо несколько view сделать, т.е. не запихивать данные прямо в форму, а в динамически создающийся datamodule, скажем, и иметь возможность из нескольких форм сослаться на эти данные в designtime.
Надо будет Кулиб глянуть...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 6 +MDI + MSSQL7 / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]