引用其它窗体上的控件时出错(28分)

  • 主题发起人 主题发起人 jozosoft
  • 开始时间 开始时间
J

jozosoft

Unregistered / Unconfirmed
GUEST, unregistred user!
问题1:
已有form1建立好,上面有个adodataset,名为adoMain,然后用:
form2:=Tform2.create(self);
form2.show;
在form2中:
with form1 do
Begin
adoMain.close; //运行此句就出错!且发现只要是对form1上的控件操作就出错
edit1.text:='fff'; //比如这样也报错
...
End;

-------------
问题2:
在dll中对DbGrid中的回车转为 tab 键时总是无效!
我要求在按回车后,光标移动到下一个单元格。但如果不是dll形式就能正常,为什么?


为什么?以前都可以的!
 
我想知道你Form2上的代码是怎么写上去的?
 
回楼上:
没什么,就是加一个按钮,然后在click事件里写入上述代码,引用form1的控件。
其中,form1是MDI_Child窗体,form2是普通窗体.
 
我试了试 没有问题啊
procedure TForm1.bProcedure(Sender: TObject);
begin
Edit1.Text := 'ff';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
form2: TForm;
btn : TButton;
begin
form2 := TForm.Create(nil);
try
btn := TButton.Create(form2);
with btn do
begin
Parent := form2;
left := 10;
top := 10;
OnClick := bProcedure;
end;
form2.ShowModal;
finally
form2.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Clear;
end;

end.
 
回楼上,我以前经常用,根本没事,但这次试了很多次都不行!
我QQ是78384738,请加我,让你远程控制都没事
 
帮顶!

╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯
 
呵呵
你现在是拒绝加为好友阿
我的QQ27176970
你的错误提示是怎么写的?
 
你看一看 form1有没有创建啊.
或者是不是form2创建的时候把form1给释放了.
 
谢谢各位!
经果,用 fm**.create(Tfm**,fm**)的方法后,问题解决了。
再次谢谢各位!
 
多人接受答案了。
 
后退
顶部