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


小雪  2004-12-28 00:30:23  No: 12495  IP: [192.*.*.*]

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

編集    削除
HOta  2004-12-28 02:47:54  No: 12496  IP: [192.*.*.*]

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


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

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

編集    削除
りおりお  2004-12-28 02:58:35  No: 12497  IP: [192.*.*.*]

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

編集    削除
大豆Z  2004-12-28 03:20:21  No: 12498  IP: [192.*.*.*]

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

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

編集    削除
n  2004-12-29 01: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.

編集    削除