[リストへもどる]
一括表示

投稿時間:2004/07/05(Mon) 22:25
投稿者名:やくも
Eメール:
URL :
タイトル:
呼び出したフォームのForm_Loadでエラーとなった場合
フォームについてなのですが、
あるフォームから別のフォームを呼び出しているのですが、
この時、呼び出したフォームのForm_Loadで実行している
処理でエラーが発生した場合、、呼び出したフォームの画面
を開かずに、ポップアップを表示して元のフォーム画面に
戻りたいのですが、どうしても、呼び出したフォーム画面に
遷移してしまいます。
どうすればよいのですか。

Private Sub Command1_Click()  
    frm_change.Show
    Unload Me
End Sub

投稿時間:2004/07/06(Tue) 00:26
投稿者名:Say
Eメール:
URL :
タイトル:
Re: 呼び出したフォームのForm_Loadでエラーとなった場合
ShowのまえにLoadし、エラーの有無を確認してください。

投稿時間:2004/07/06(Tue) 12:12
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^2: 呼び出したフォームのForm_Loadでエラーとなった場合
> ShowのまえにLoadし、エラーの有無を確認してください。

こういうこうとでしょうか。
Showが行われる前に、呼び出したフォームのForm_Load内で行っている
処理を呼び出し元で行うということですか。

Private Sub Command1_Click()
    処理
    if ・・・ then
      frm_change.Show
      Unload Me
    else
       MsgBox()
    end if
End Sub

ということでしょうか。

投稿時間:2004/07/06(Tue) 12:47
投稿者名:Say
Eメール:
URL :
タイトル:
Re^3: 呼び出したフォームのForm_Loadでエラーとなった場合
Load時の処理を別Formに用意しなくても
Loadすれば画面を表示せずにForm_Loadが走ります。

その結果でShowするかMsgBox出すか決めればいいのでは?

投稿時間:2004/07/06(Tue) 14:23
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^4: 呼び出したフォームのForm_Loadでエラーとなった場合
> Load時の処理を別Formに用意しなくても
> Loadすれば画面を表示せずにForm_Loadが走ります。
>
> その結果でShowするかMsgBox出すか決めればいいのでは?

その結果を受け取りたいのですがどのように記述すれば
よいのですか。

Private Sub Command1_Click()  
    frm_change.Show
    Unload Me
End Sub

投稿時間:2004/07/06(Tue) 14:31
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re^5: 呼び出したフォームのForm_Loadでエラーとなった場合
パブリック変数に用意しておけばイイかと。

投稿時間:2004/07/06(Tue) 19:38
投稿者名:L.O.N.
URL :
タイトル:
Re: 呼び出したフォームのForm_Loadでエラーとなった場合
俺がよくやる手は、以下のコードの通りです。
(Form2のForm_Loadイベントは利用しない方法でやってます。)

'定数定義(標準モジュールに)
Public Const NORMALITY_RETURN = 0           '正常終了
Public Const UNUSUAL_RETURN = 1             '異常終了(非0の値・・・エラー内容も定義できるから)

'呼び出し元(Form1)
Private sub Command1_Click()
Dim result as Integer                       '結果格納欄
    result = Form2.PANEL_INITIALIZE         'Form2はここで暗黙的にLoadされる。
    if (result <> NORMALITY_RETURN) then    '初期化が正常に終了しなかったら、
        Unload Form2                        '暗黙的にLoadされたForm2を消去する
        Exit sub                            '処理を抜ける
    End if
    Form2.Show                              'Form2を表示する
End Sub

'呼び出し先(Form2)
Friend Function PANEL_INITIALIZE() as Integer

    '各種初期化処理(エラー時は、Goto EXIT_ERRへ飛ぶ)

    PANEL_INITIALIZE = NORMALITY_RETURN        '正常終了
    Exit Function
EXIT_ERR:
    PANEL_INITIALIZE = UNUSUAL_RETURN          '異常終了
End Function

投稿時間:2004/07/07(Wed) 12:42
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^2: 呼び出したフォームのForm_Loadでエラーとなった場合
ありがとうございます。
組み込んでみます。