В коде "Главной формы" в самом конце пытаюсь вывести ShowMessage с текстом из первого эдита из "Второй дочерней формы". largebtnPrintClick это кнопка на "Главной форме" с Caption "Экспорт в Excel".
В результате получаю выше указанную ошибку.
Такое ощущение будто для кнопки на "Главной форме" "Вторая дочерняя форма" остается не созданной.
Главная форма:

Delphi | 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
| unit Unit_Main;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, dxRibbonSkins, dxBar, cxLocalization, dxRibbon, Unit_Forms,
dxRibbonGallery, cxClasses, Vcl.Menus, cxCheckComboBox, cxCheckGroup,
cxRadioGroup, cxCheckBox, cxBarEditItem, dxBarExtItems, A7Rep, Vcl.StdCtrls;
type
TfrmMaim = class(TForm)
dxBarManager1: TdxBarManager;
dxRibbon1Tab1: TdxRibbonTab;
dxRibbon1: TdxRibbon;
dxRibbonDropDownGallery1: TdxRibbonDropDownGallery;
TdxBarManagerСправочники: TdxBar;
cxLocalizer1: TcxLocalizer;
largebtnОрганизации: TdxBarLargeButton;
RibbonTabFirms: TdxRibbonTab;
TdxBarManagerОрганизации: TdxBar;
largebtnЗакрыть: TdxBarLargeButton;
largebtnInsert: TdxBarLargeButton;
largebtnИзменить: TdxBarLargeButton;
largebtnУдалить: TdxBarLargeButton;
RibbonTabSoobshenie: TdxRibbonTab;
TdxBarManagerСообщение: TdxBar;
largebtnClose: TdxBarLargeButton;
largebtnSave: TdxBarLargeButton;
largebtnPrint: TdxBarLargeButton;
largebtnExit: TdxBarLargeButton;
dxBarButton1: TdxBarButton;
dxBarCombo1: TdxBarCombo;
dxRibbonGalleryItem1: TdxRibbonGalleryItem;
CustomdxBarCombo1: TCustomdxBarCombo;
dxBarSubItem1: TdxBarSubItem;
dxBarListItem1: TdxBarListItem;
dxBarContainerItem1: TdxBarContainerItem;
dxBarStatic1: TdxBarStatic;
dxBarToolbarsListItem1: TdxBarToolbarsListItem;
cxBarEditItem1: TcxBarEditItem;
cxBarEditItem2: TcxBarEditItem;
cxBarEditItem3: TcxBarEditItem;
checkFSS: TcxBarEditItem;
checkPFR: TcxBarEditItem;
TdxBarManagerЭкспорт: TdxBar;
A7Rep1: TA7Rep;
procedure largebtnОрганизацииClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure largebtnЗакрытьClick(Sender: TObject);
procedure largebtnInsertClick(Sender: TObject);
procedure largebtnCloseClick(Sender: TObject);
procedure largebtnSaveClick(Sender: TObject);
procedure largebtnУдалитьClick(Sender: TObject);
procedure largebtnИзменитьClick(Sender: TObject);
procedure largebtnExitClick(Sender: TObject);
procedure largebtnPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMaim: TfrmMaim;
implementation
{$R *.dfm}
uses Unit_Form_Soobshenie, Unit_DataModule;
procedure TfrmMaim.FormCreate(Sender: TObject);
begin
RibbonTabFirms.Visible:= False; // делается НЕ видимой вкладка Организаций
frmMaim.RibbonTabSoobshenie.Visible:= False; // делается НЕ видимой вкладка Сообщение
frmMaim.largebtnSave.Enabled:= False; // кнопка Сохранить делается НЕ активной
end;
procedure TfrmMaim.largebtnCloseClick(Sender: TObject);
begin
ActiveMDIChild.Close; // закрывается активная дочерняя форма
DataModule1.qryСообщение.CancelUpdates;
DataModule1.qryСообщение.Requery; // обновляем запрос
end;
procedure TfrmMaim.largebtnExitClick(Sender: TObject);
begin
Close; // выход из программы
end;
procedure TfrmMaim.largebtnInsertClick(Sender: TObject);
begin
TfrmFofmaSoobshenie.Create(Self).Show; // создается форма Сообщение
ActiveMDIChild.WindowState:= wsMaximized; // форма разворачивается на всё окно
RibbonTabFirms.Visible:= False; // делается НЕ видимой вкладка Организаций
RibbonTabSoobshenie.Visible:= True; // делается видимой вкладка Сообщение
RibbonTabSoobshenie.Active:= True; // делается активной вкладка Сообщение
DataModule1.qryСообщение.Insert; // добавление новой записи
end;
procedure TfrmMaim.largebtnSaveClick(Sender: TObject);
begin
DataModule1.qryСообщение.Post; // сохраняем запись
largebtnSave.Enabled:=False; // кнопка Сохранить делается НЕ активной
end;
procedure TfrmMaim.largebtnЗакрытьClick(Sender: TObject);
begin
ActiveMDIChild.Close; // закрывается активная дочерняя форма
DataModule1.qryСообщение.Requery; // обновляем запрос
end;
procedure TfrmMaim.largebtnИзменитьClick(Sender: TObject);
begin
TfrmFofmaSoobshenie.Create(Self).Show; // создается форма Сообщение
ActiveMDIChild.WindowState:= wsMaximized; // форма разворачивается на всё окно
RibbonTabFirms.Visible:= False; // делается НЕ видимой вкладка Организаций
RibbonTabSoobshenie.Visible:= True; // делается видимой вкладка Сообщение
RibbonTabSoobshenie.Active:= True; // делается активной вкладка Сообщение
end;
procedure TfrmMaim.largebtnОрганизацииClick(Sender: TObject);
begin
TfrmForms.Create(Self).Show; // создается форма Организаций
largebtnОрганизации.Enabled:=False; // делается не активной кнопка создания формы
ActiveMDIChild.WindowState:= wsMaximized; // форма разворачивается на всё окно
RibbonTabFirms.Visible:= True; // делается видимой вкладка Организаций
RibbonTabFirms.Active:= True; // делается активной вкладка Организаций
DataModule1.qryСообщение.Requery; // обновляем запрос
end;
procedure TfrmMaim.largebtnУдалитьClick(Sender: TObject);
begin
if MessageDlg('Вы уверены, что хотите удалить запись ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
DataModule1.qryСообщение.Delete; // удаляем запись
DataModule1.qryСообщение.Requery; // обновляем запрос
end;
procedure TfrmMaim.largebtnPrintClick(Sender: TObject);
begin
ShowMessage(frmFofmaSoobshenie.edit_Firm_Name.Text);
end;
end. |
|
Первая дочерняя форма:

Delphi | 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
| unit Unit_Forms;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, DBGridEhGrouping,
Vcl.ExtCtrls, GridsEh, DBGridEh;
type
TfrmForms = class(TForm)
gridФирмы: TDBGridEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure gridФирмыDblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmForms: TfrmForms;
implementation
{$R *.dfm}
uses Unit_Main, Unit_DataModule;
procedure TfrmForms.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree; //уничтожается форма
frmMaim.largebtnОрганизации.Enabled:= True; //делается активной кнопка создания формы
frmMaim.RibbonTabFirms.Visible:= False; // делается НЕ видимой вкладка Организаций
end;
procedure TfrmForms.gridФирмыDblClick(Sender: TObject);
begin
frmMaim.largebtnИзменить.Click;
end;
end.[/CODE][/SPOILER]
Вторая дочерняя форма:
[ATTACH]354070[/ATTACH]
[SPOILER][CODE]unit Unit_Form_Soobshenie;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, DBCtrlsEh,
Vcl.DBCtrls, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters,
cxContainer, cxEdit, cxTextEdit, cxDBEdit;
type
TfrmFofmaSoobshenie = class(TForm)
ScrollBox1: TScrollBox;
grp1: TGroupBox;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
edit_Firm_Name: TDBEditEh;
ComboBoxEh_Фирма_Сообщает: TDBComboBoxEh;
ComboBox_Фирма_Тип: TDBComboBoxEh;
grp2: TGroupBox;
grp3: TGroupBox;
grp4: TGroupBox;
lbl5: TLabel;
edit_ФСС_Наименование: TDBEditEh;
grp5: TGroupBox;
lbl6: TLabel;
edit_ПФР_Наименование: TDBEditEh;
grp6: TGroupBox;
edit_ФСС_ПочтовыйАдрес: TDBEditEh;
lbl7: TLabel;
edit_Банк_ПолноеНаименование: TDBEditEh;
edit_Фирма_РасчетныйНомер: TDBEditEh;
lbl4: TLabel;
lbl8: TLabel;
lbl9: TLabel;
datatime_Фирма_Счет: TDBDateTimeEditEh;
ComboBoxEh_Фирма_ТипЛица: TDBComboBoxEh;
edit_Фирма_ИННРуководителя: TDBEditEh;
edit_Фирма_Телефон: TDBEditEh;
edit_Фирама_Email: TDBEditEh;
datatime_Фирма_Сообщение: TDBDateTimeEditEh;
lbl10: TLabel;
lbl11: TLabel;
lbl12: TLabel;
lbl13: TLabel;
lbl14: TLabel;
lbl16: TLabel;
lbl17: TLabel;
lbl18: TLabel;
lbl19: TLabel;
memo_Фирма_Адрес: TDBMemo;
lbl15: TLabel;
lbl20: TLabel;
lbl21: TLabel;
lbl22: TLabel;
lbl23: TLabel;
lbl24: TLabel;
lbl25: TLabel;
edit_Фирма_ИНН: TDBEditEh;
edit_Фирма_КПП: TDBEditEh;
edit_Фирма_ОКАТО: TDBEditEh;
edit_Фирма_ОГРН: TDBEditEh;
edit_Фирма_НомерФСС: TDBEditEh;
edit_Фирма_НомерПФР: TDBEditEh;
edit_Фирма_КодНалОргана: TDBEditEh;
edit_Фирма_Руководитель: TDBEditEh;
edit_Фирма_Должность: TDBEditEh;
edit_Фирма_Бух: TDBEditEh;
lbl26: TLabel;
edit_Банк_БИК: TDBEditEh;
lbl27: TLabel;
lbl28: TLabel;
lbl29: TLabel;
lbl30: TLabel;
lbl31: TLabel;
lbl32: TLabel;
lbl33: TLabel;
lbl34: TLabel;
lbl35: TLabel;
lbl36: TLabel;
lbl37: TLabel;
lbl38: TLabel;
lbl39: TLabel;
lbl40: TLabel;
lbl41: TLabel;
lbl42: TLabel;
lbl43: TLabel;
lbl44: TLabel;
lbl45: TLabel;
lbl47: TLabel;
ComboBoxEh_Банк_Регион: TDBComboBoxEh;
edit_Банк_СокрИмя: TDBEditEh;
edit_Банк_ИНН: TDBEditEh;
edit_Банк_КПП: TDBEditEh;
edit_Банк_ОГРН: TDBEditEh;
edit_Банк_Корр: TDBEditEh;
edit_Банк_Индекс: TDBEditEh;
edit_Банк_Район: TDBEditEh;
edit_Банк_Город: TDBEditEh;
edit_Банк_НасПункт: TDBEditEh;
edit_Банк_Улица: TDBEditEh;
edit_Банк_Дом: TDBEditEh;
edit_Банк_Корпус: TDBEditEh;
edit_Банк_Офис: TDBEditEh;
memo_Банк_АдресБанка: TDBMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edit_Firm_NameKeyPress(Sender: TObject; var Key: Char);
procedure ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure ScrollBox1MouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmFofmaSoobshenie: TfrmFofmaSoobshenie;
implementation
{$R *.dfm}
uses Unit_Main, Unit_DataModule;
procedure TfrmFofmaSoobshenie.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:= caFree; //уничтожается форма
frmMaim.RibbonTabFirms.Visible:= True; // делается видимой вкладка Организаций
frmMaim.RibbonTabSoobshenie.Visible:= False; // делается НЕ видимой вкладка Сообщение
end;
// прикручиваем скролинг к мышке
procedure TfrmFofmaSoobshenie.ScrollBox1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
Scrollbox1.VertScrollBar.Position:= Scrollbox1.VertScrollBar.Position+15; // скрол в низ
end;
procedure TfrmFofmaSoobshenie.ScrollBox1MouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
Scrollbox1.VertScrollBar.Position:= Scrollbox1.VertScrollBar.Position-15; // скрол вверх
end;
procedure TfrmFofmaSoobshenie.edit_Firm_NameKeyPress(Sender: TObject;
var Key: Char);
begin
frmMaim.largebtnSave.Enabled:= True // кнопка Сохранить делается НЕ активной
end;
end. |
|
0
|