掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数のユニットを使用するには? (ID:15156)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> フォームをグローバルせずに まず、Delphi を起動した直後のプロジェクトファイルを見てください。 program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. ここで使われている Form1 は、Unit1.pas で宣言されているグローバル変数です。 これを使わない起動するためには、Unit1 から宣言を削除して program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} var Form1: TForm1; begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. のようにします。プロジェクトファイルの変数は他のユニットから参照できないので グローバル変数とは違います。(厳密には?ですが。) > 複数のユニットでのデータのやりとりは可能なんですか? まず、ユニットファイルと TForm の下位クラスの type 宣言は別の概念です。 これを理解してください。重要です。 で、ここでは簡単にするために、各フォームごとに宣言されたユニットファイル だけを考えるとします。 Unit1.pas で TForm1 、 Unit2.pas で TForm2 と いう感じです。そうすると、グローバル変数を使用しないで他ユニットのフォーム クラスのインスタンスを参照できるか? という問題になります。 わたしは厳密な文法に詳しくないのですが、すぐに思いつきません。いまのところ は ノー が回答です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.