怎么样才能引用另一个单元文件中的数组呢(20分)

  • 主题发起人 主题发起人 duanfeihu
  • 开始时间 开始时间
D

duanfeihu

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是这样的,在Unit1下声明数组变量T:Array[1..26] of real;并是在publish下声明的
怎么在Unit2中通过Form1.T确不可用,其他的变量则可以这样用,有什么办法能用不同Unit
下的数组。
 
在Unit2中加入:uses unit1;
 
T是声明在TForm中的,如果要调用一个对象内的数据,必须首先创建这个对象的实例
可以在interface中声明一个全局变量Form1: TForm1就可直接访问Form1中的数据,或者在函数中申明一个变量
procedure ...
var
Form1: TForm1;
begin
Form1 := TForm1.Create(self);
try
..
访问Form1.T
finally
Form1.Free;
end;
end;
 
你可以这样:
TForm1 = class(TForm)
private
FFeatures: array[1..26] of Real;
function GetFeature(Index: Integer) :Real;
public
property Items[Index: Integer] :Real read GetFeature;
end;

function TForm1.GetFeature(Index: Integer): Real;
begin
Result:=0;
if (Index>Length(FFeatures)) or (Index<1) then Application.MessageBox('此索引大于最大值!', '提示', 0)
else begin
Result:=FFeatures[Index];
end;
end;

任意其它的单元只有uses这个单元都可以使用了
Form.Items



 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部