自編組件中不同類訪問的重大問題﹖(0分)

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

jeff86

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己編寫了一個組件﹐運行時是可視的﹐有兩個類﹐我要從一個類中訪問另一個類的變量﹐而又不知給這個類聲明的變量﹐該如何﹖因為組件在設計時已經如﹕
constructor TDataSelectThree.Create(AOwner: TComponent); // 建立組件
begin
inherited Create(AOwner);
end;
代表TDataSelectThree類聲明的變量在哪﹖
 
假设Class1里面要使用Class2,那么
constructor TClass2.Create(AOwner: TComponent);
begin
...
end;
这个只是类的构造函数而已,一定有类似于
Class2 := TClass2.Create(..);
的代码才能将Class2实例化;
而这个Class2是要在Class1里面声明的,并且在Class2的Create方法中初始化。

就象下面这样
TClass2 = class;

TClass1 = class
...
private
FClass2: TClass2;
public
constructor Create...; override;
end;

TClass2 = class
constructor Create...;override;
end

constructor TClass1.Create(AOwner: TComponent);
begin
...
FClass2 := TClass2.Create(...);
end;

constructor TClass2.Create(AOwner: TComponent);
begin

end;

然后就可以在Class1中通过FClass2访问了。
 
还有,老兄你没有分的么?呵呵,是不是太穷了?
不过没有就算了。

刚才不小心把邮件通知点掉了,再来一次。
 
謝了。可是正如你所說的﹐我不能聲明一個類的變量。如下﹕設計一個組件繼承TCompanent。
組件是自定義的TSelectData類﹐類中有個過程Execute﹐在設計時添如其相應屬性﹐運行時執行Execute
會有一個搜尋資料的窗體form建立﹐執行execute時建立TFmSelectData(繼承TForm類)的一個變量﹐不錯我在
可以在TselecDate類中用TFmSelectData中資料﹐可我在TFmSelectData中如何用TselecDate類中資料
如一個TselecDate的屬性值。在設計時我把TSelectData組件放到form時就已經執行了TSelectData
的constructor Create...;override﹐在執行時建立TFmselectDate,如何在TFmselectDate中
訪問TselecDate的屬性值呢
 
后退
顶部