画面Aからモーダレスで画面Bを表示た場合、画面Bが"開いている、又は閉じられている"という判断は画面A側ではどのように行えばよいのでしょうか?
良い方法をご存知の方がいらっしゃったら、是非ご教授下さい。宜しくお願いします。
フォームのVisibleプロパティで判断するのはどうでしょう。
Showingとか?
ご返答ありがとうございます。
大変申し訳ありませんでした。私の文体が稚拙過ぎました。ご容赦下さい。
画面Aからモーダレスで表示した画面Bのインスタンスが在る/無い
の判断は画面A側でどのように行えばよろしいでしょうか?という質問でした。
二度手間をかけてしまい大変申し訳ありませんが、ご存知でしたら是非ご教授ください。宜しくお願いします。
function IsFormExist(FormName:string):Boolean;
var
i:integer;
begin
result := false;
for i := 0 to Screen.FormCount-1 do
if Screen.Forms[i].Name = FormName then
begin
result := true;
exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsFormExist('Form2') then
ShowMessage('Form2 Exists')
else
ShowMessage('Form2 does not Exist');
end;
ホチキスさん、
http://wblue.web.infoseek.co.jp/cgi-bin/beginner/cbbs.cgi
にも同じ質問をポストされていますが、これはちょっとまずいと思います。
こういうのはマルチポストと呼ばれていて、技術系の質問掲示板ではとても嫌がられます。
片方で結論が出た場合にもう片方を放置してしまう人が過去に多かったので、
マナー違反と感じる人も多いと思います。
1つの掲示板でレスが付かなかったとか、レスは付いても結論が出なかったとかの場合に、
「他の掲示板にも投稿してみようと思います。どうもありがとうございました」
と筋を通してから別の掲示板に同じ質問をポストされるとよろしいでしょう。
知らなかったと言えば言い訳になってしまいますが、マルチポストという行為ををしてしまった事について、大変反省しております。
教えていただく立場なのに失礼な事をしてしまい、本当に申し訳ありませんでした。
今後はその様な事の無いように心がけますのでどうぞご容赦ください。
jokさんの方法で無事解決することができました。
大変ありがとうございました。
ツイート | ![]() |