掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数のFormを追加したい (ID:27970)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
HOta様、これは?(2)様、ご指導をありがとうございます。解決サインを出そうと朝から簡単なことを何度も何度も繰り返していますがForm2からForm1を呼び出すところまで行き着きませんので再度ご指導をお願いします。 仕様は:①Form1にボタン1を配置してボタンを押すとForm2がモーダルで表示される。②Form2にボタン1、ボタン2、Edit1を配置してボタン1を押すとEdit1にパブリック宣言した(つもりの)A+Bを表示し、③ボタン2を押すとForm1へ戻る。というものをテストしたいと試験しました。(下記) 結果は①だけまではOK ②は未定義の識別子'A'と出てしまう。 ③はForm1.Show; などと書くとUsesリストにない、という警告が出ます。そこでUnit2のUsesにUnit1と書くと循環参照と出てしまいます。 単純にするためにモードレスでもOKと試しましたが基本的なことが分かっていませんのでうまくいきませんでした。このあたりの処理などお教えください。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Unit2, StdCtrls; // Unit2は自動生成されませんので手書きで加えました type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } A,B,C,D:real; end; var Form1: TForm1; Form2: TForm2; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form2 := TForm2.Create(Self); Form2.ShowModal; Form2.Release; end; end. ---------------------------------------------------- unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private 宣言 } public { Public 宣言 } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TForm2.Button1Click(Sender: TObject); begin // edit1.text:=floattostr(A+B); end; procedure TForm2.Button2Click(Sender: TObject); begin //Form1.show; (モードレスにすればOKかと思いましたがForm1のことを書くと全て拒絶されてしまいます。) end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.