VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/07/22(Thu) 20:37
投稿者
Eメール
URL
タイトルRe^8: アプリの複数起動を禁止したい

う〜ん、なるほど。

実は、確かにUnload Meの後にもコードがあります。2つのフレームを使っていまして、
なくても良かったのですが初期表示を明示的にしておく意味でフレームの表示・非表示を書いていました。
結果、こんなコードで落ち着きました。

Private Sub Form_Load()

        If App.PrevInstance = True Then
            captionName = "検索画面"
            Me.Caption = "二重起動"
            lnghwnd = FindWindow(vbNullString, captionName)
            retValue = SetForegroundWindow(lnghwnd)
            'End
            Unload Me
            Exit Sub
        End If
        
        Frame1.Enabled = True
        Frame2.Enabled = False
        Frame1.Visible = True
        Frame2.Visible = False
End Sub

画面のチラつきがなくなり、プロセスも残らなくなりました。
どうもありがとうございました。

魔界の仮面弁士様
私はン年前の入社時にASPで開発をしていて、会社の先輩から
「ページ処理が終わればメモリから開放されるからNothingしなくてもいいけど
 わかりやすくするためにもNothingするのが礼儀だ」
ということを言われていて深く考えずに使っていました。
(Response.Redirectするときはメモリが残るからそのときは注意、とも言われていましたが)
紹介いただいたサイトを読んで身につまされる思いです。初心に帰ってじっくり考えてみます。
ありがとうございました。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -