数据访问问题??
MainForm为fsMDIForm,ReportForm为fsMDIChild,FieldLenList为ReportForm中的私有TStrings变量,在ReportForm中生成FRView预览页面,在预览页面中调用ReportForm中的过程(用到FieldLenList)发现FieldLenList出现不能访问数据了。试过其它数据类型都都不行的
整个过程在单个模块的时候没有问题的(即只是把ReportForm改成fsMDIForm,放到多窗口模块中),为什么??
表达可能不是很清楚,大家尽量帮忙了!
问题点数:100、回复次数:9Top
1 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2003-11-03 19:52:34 得分 20
不是很清楚你說的!!Top
2 楼Goxu(一步两步三步)回复于 2003-11-03 20:08:10 得分 0
简单点说就是一个A.pas调用另一个B.pas的过程的操作中出现不能反问B.pas中的私有变量。
已在A中usesBTop
3 楼lovelymelon(小人物)回复于 2003-11-03 20:17:55 得分 20
把要访问的私有变量定义为公有变量Top
4 楼dickeybird888(小鸟)回复于 2003-11-03 20:25:05 得分 20
(@ $ @)Top
5 楼Dlwxn(Dlwxn)回复于 2003-11-03 20:26:52 得分 20
MDI的要这样用:
TReportForm(ActiveMDIChild).变量
我对你的问题理解有没有错?Top
6 楼cultureright(文)回复于 2003-11-03 20:41:27 得分 20
对呀要把FieldLenList定义在public中,引用时还要带上窗体名如Form1.FieldLenListTop
7 楼Goxu(一步两步三步)回复于 2003-11-03 20:45:06 得分 0
to:lovelymelon 我是在A中调用执行B中的过程,这样私不私有没关系的呀!
to:dlwxn 我不是要在A中用B的变量,而是在A中调用执行B中的过程,发现本来有数据的TStrings型数据变成不能访问了
Top
8 楼Goxu(一步两步三步)回复于 2003-11-03 20:52:02 得分 0
A
type
TReportForm = Class(TForm)
Private:
FieldLenList: TStrings;
Public:
procedure ShowReport;(其中用到FieldLenList)
end;
Var ReportWin: TReportForm;
B
Type
FRForm = Class(TForm)
public
procedure PageSet;
end;
implementation
uses A;
FRForm.PageSet;
begin
ReportWin.ShowReport;(出现不能访问FieldLenList的错误!)
end;Top
9 楼Goxu(一步两步三步)回复于 2003-11-04 13:47:27 得分 0
怎么没人帮我呢?555555555
自己up一下,没人回答晚上结贴.
这个是不是跟MDI程序有关系???Top




