○○○.dprで宣言した変数


小雪  2004-12-27 15:30:23  No: 12495  IP: 192.*.*.*

○○○.dprで宣言した変数を他のフォーム(◎◎◎.pas)とかで使用したいのですが、こういう事は可能なのでしょうか?

編集 削除
HOta  2004-12-27 17:47:54  No: 12496  IP: 192.*.*.*

スコープがあれば使用可能ですが、できればプロパティで操作した方が安全です。


privete
  FHoge1 : String  //ユニットの中だけで使用可能
public
  property Hoge1:String Read FHoge1 write SetHoge1;

として、実現部を作ると、ほかのユニットから、クラス名.Hoge1としてアクセスできます。

編集 削除
りおりお  2004-12-27 17:58:35  No: 12497  IP: 192.*.*.*

そうなの? ユニットからプロジェクトファイルを見れたっけ?

編集 削除
大豆Z  2004-12-27 18:20:21  No: 12498  IP: 192.*.*.*

>そうなの? ユニットからプロジェクトファイルを見れたっけ?
みれたっけ?

共有変数用の  ●○.pas  を作って
usuesに追加すれば
○○○.dpr
他のフォーム(◎◎◎.pas)
で両方つかえそうですけど

編集 削除
n  2004-12-28 16:35:06  No: 12499  IP: 192.*.*.*

ユニットからプロジェクトファイル(.dpr)をusesすることは出来ないようです。
ですからプロジェクトの変数を直接使用することは出来ません。

ただし変数の参照・ポインタを他のユニットに渡して使用することで可能です。
program proj1;
uses unit1, unit2;
var x: Integer;
begin
  unit1.process(x);

  unit2.xptr := @x;
  unit2.process_xptr;
end.

編集 削除