モーダレスで表示した画面の終了判断について

解決


ホチキス  2004-10-01 00:29:37  No: 11227

画面Aからモーダレスで画面Bを表示た場合、画面Bが"開いている、又は閉じられている"という判断は画面A側ではどのように行えばよいのでしょうか?
良い方法をご存知の方がいらっしゃったら、是非ご教授下さい。宜しくお願いします。


LupinⅢ  URL  2004-10-01 01:21:16  No: 11228

フォームのVisibleプロパティで判断するのはどうでしょう。


SO  2004-10-01 02:33:51  No: 11229

Showingとか?


ホチキス  2004-10-01 20:18:45  No: 11230

ご返答ありがとうございます。
大変申し訳ありませんでした。私の文体が稚拙過ぎました。ご容赦下さい。
  画面Aからモーダレスで表示した画面Bのインスタンスが在る/無い
の判断は画面A側でどのように行えばよろしいでしょうか?という質問でした。
二度手間をかけてしまい大変申し訳ありませんが、ご存知でしたら是非ご教授ください。宜しくお願いします。


jok  2004-10-01 23:13:12  No: 11231

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;


通りがかり  2004-10-01 23:46:35  No: 11232

ホチキスさん、
http://wblue.web.infoseek.co.jp/cgi-bin/beginner/cbbs.cgi
にも同じ質問をポストされていますが、これはちょっとまずいと思います。
こういうのはマルチポストと呼ばれていて、技術系の質問掲示板ではとても嫌がられます。
片方で結論が出た場合にもう片方を放置してしまう人が過去に多かったので、
マナー違反と感じる人も多いと思います。
1つの掲示板でレスが付かなかったとか、レスは付いても結論が出なかったとかの場合に、
「他の掲示板にも投稿してみようと思います。どうもありがとうございました」
と筋を通してから別の掲示板に同じ質問をポストされるとよろしいでしょう。


ホチキス  2004-10-02 00:00:13  No: 11233

知らなかったと言えば言い訳になってしまいますが、マルチポストという行為ををしてしまった事について、大変反省しております。
教えていただく立場なのに失礼な事をしてしまい、本当に申し訳ありませんでした。
今後はその様な事の無いように心がけますのでどうぞご容赦ください。

jokさんの方法で無事解決することができました。
大変ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加