在表单A中,可否写表单B中的程式代码, (100分)

  • 主题发起人 主题发起人 beadly
  • 开始时间 开始时间
B

beadly

Unregistered / Unconfirmed
GUEST, unregistred user!
在表单A中,可否写表单B中的程式,比如:
unit frm_depa;//form a
....
....
procedure DataModule1.DataSource2StateChange(Sender: TObject); //写在form A 里 form B的代码,要求在form a 里执行
begin
case DataModule1.DataSource2.State of
dsBrowse:lb_Modal.Caption:='[浏览模式]';
dsEdit:lb_Modal.Caption:='[修改模式]';
dsInsert:lb_Modal.Caption:='[插入模式]';
else lb_Modal.Caption:='[其他模式]';
end;
end;
在表单DataModule1的DataSource2StateChange事件中并没有其它代码.很多朋友说可以,只要在implementation
后USES对方表单名称就可以,这个我早就试过,不知道为什么,就是不可以,而且在TYPE中的procedure DataModule1.DataSource2StateChange(Sender: TObject);
这语句也报错.
说了那么多,不知说清了没有?
 
可以
implementation //form中
uses Unit2;
 
DatdModule1有实例???
 
已经这样做了,但还是不可以
implementation //form中
uses Unit2;

DatdModule1有实例???
??????什么意思?
 
當然可以! 用事件指針就可以指向!
 
1、 datamodule 一定要 USE Frm_depa
2、在应用程序一开始时就要加载datamodule ( 确切的讲要在调用你的过程前加载datamodule)
 
在datamodule中有USE Frm_depa,
应用程序一开始时就有加载datamodule,
都有做啊 !
 
为什么啊 ?......................
 
implementation //form中
uses Unit2;

var
m:DatdModule1;
begin
m:DatdModule1.create(...);
M.DataSource2StateChange;

 
谢谢各位
但还是报错啊!.......
 
jsxjd:还是不行呀!
up....
 
只是调用上面的代码有意义吗?

var
m:DatdModule1;
begin
m:=DatdModule1.create(...);
M.DataSource2StateChange(M);
 
多谢jsxjd:
小的不才!初学DELPHI倍感困难重重!还请详细讲来!
再谢!
我想在表单A中用DataModule1 (B)中的表,在B中没写其它代码,在A中必然会对表有所修改,想
要在A中的几个LABEL及时显示,所以想在A中写些代码就可达到!....
 
是不是這個問題很難?
 
@@@@@@@@@@@@@@@@@@@@@@@[:)]
 
help..........
 
到底怎么回事啊 ?
 
后退
顶部