まず第一に、タイトルは申し訳ありませんが、簡単に説明するのは非常に難しいです。次に、問題はこれです。Tclass1とTclass2の2つのクラス(オブジェクト)があります。これらはそれらから独立しており、両方のクラス(オブジェクト)が3番目のクラス(オブジェクト)を呼び出します。たとえば、Tclass3です。Tclass1とTclass2の間でTclass3の情報を共有できるのでしょうか?
例を使ってよりよく説明してみてください。
Tclass1 = class
private
class3: Tclass3;
public
property err: Tclass3 read class3 write class3;
...
end;
Tclass2 = class
private
class3: Tclass3;
public
property err: Tclass3 read class3 write class3;
...
end;
Tclass3 = class
private
icode: word;
public
property code: word read icode;
...
end;
主なプログラムは次のとおりです。
var
class1: Tclass1;
class2: Tclass2;
begin
class1 := Tclass1.create;
try
class2 := Tclass2.create;
try
class2.err := class1.err; // <--- problem is here
...
... // processing...
...
class1.err := class2.err; // <--- problem is here
writeln (class1.err.code)
finally
class2.free;
end;
finally
class1.free;
end;
end;
もちろん、Tclass1とTclass2では、Tclass3のcreateメソッドを呼び出してインスタンス化します。今、私がそれを実行するとき、例外を作ります、しかし私はそれを読むことができません。なぜならコンソールは速く閉じられているからです。クラス(オブジェクト)に変数の同じルールを適用しました。実際、変数を使用して配置すると、すべて正常に機能します。class(object)で同じように解くことはできませんか?どうもありがとうございました。