delphi 主窗口公用工具栏问题请教

来源:百度知道 编辑:UC知道 时间:2024/07/03 13:47:19
本人正在用delphi做一个数据库系统的面板,遇到了点问题不能解决,不知道各位能不能帮我看下:
首先我新建了一个窗口,formstyle属性为fsMDIForm,同时我又建了两个窗口,formstyle为fsMDIChild,是这样的,我在fsMDIForm主窗口上放了一个toolbar和一个coolbar组件,并做成了可以随意托运的工具栏,工具栏上有很多个按钮,其中的一个为保存按钮,两个子窗口上放有若干个Edit和一个StringGrid1,我想实现这样的一个功能,不论两个窗口中的哪一个为活动窗口,当点主窗口工具栏上的保存按钮的时候都可以保存当前活动子窗口的信息到数据库中去,也就是说,两个子窗口可以共用主窗口上的工具栏.最好有代码提供,感谢帮助!!
其实我是这样写的
在子窗口上也有一个保存按钮,事件代码如下:
procedure TForm4.Button1Click(Sender: TObject);
var
i:integer;
begin
ADOCommand1.CommandText:='内容省略,主要是insert SQL语句';
ADOCommand1.Execute;
for i:=1 to 29 do
if (内容省略) then
begin
ADOCommand1.CommandText:='内容省略,主要是insert SQL语句';
ADOCommand1.Execute;
end;
ShowMessage('保存成功!!');
end;
而在fsMDIForm主窗口工具栏的保存按钮我是这样写的:
if ActiveMDIChild.Caption='进货单' then
begin
Form2.button1.click;
end;
其中主窗口为form1,两个子窗口分别为form2,form3
编译过程没有错,可是运行的时候,当在子窗口输入数据,并按下主窗口工具栏上的保存按钮的时候却提示错误,不

先判断是否有这两个子窗口打开,然后判断哪个子窗口为活动窗口就执行哪个段保存的语句.代码我去看看能不能写.

在窗口内uses中引用子窗口,然后就可能在主窗口中访问子窗口,如子窗口为unit2,则主窗口可以用unit2.XX来访问子窗口内容。
不知提示是什么样错误?

在子窗口上也有一个保存按钮,事件代码如下:
procedure TForm4.Button1Click(Sender: TObject);
var
i:integer;
begin
ADOCommand1.CommandText:='内容省略,主要是insert SQL语句';
ADOCommand1.Execute;
for i:=1 to 29 do
if (内容省略) then
begin
ADOCommand1.CommandText:='内容省略,主要是insert SQL语句';
ADOCommand1.Execute;
end;
ShowMessage('保存成功!!');
end;
而在fsMDIForm主窗口工具栏的保存按钮我是这样写的:
if ActiveMDIChild.Caption='进货单' then
begin
Form2.button1.click;
end;
其中主窗口为form1,两个子窗口分别为form2,form3
编译过程没有错,可是运行的时候,当在子窗口输入数据,并按下主窗口工具栏上的保存按钮的时候却提示错误,不知道是怎么回事!