投稿日 | : 2006/10/02(Mon) 18:00 |
投稿者 | : こう |
Eメール | : |
URL | : |
タイトル | : 画面呼び出しで実行時エラー「438」が発生 |
画面A、画面B、画面Cの3つの画面があります。
画面Aからボタン押下により、画面Bと画面Cを呼び出します。
画面Bは、呼び出し時に処理を実行し、処理結果により画面B
を開くか、開かないか判断しています。
画面Cは、ボタンが押されたら画面を開いています。
たぶん、私の作りが悪いと思うのですが、
画面Aからボタンを押下し、画面Bを開き、また、画面Aに戻った
場合、どうしても、画面AのFrom_Loadが動いてしまいます。
画面AのFrom_Loadが呼ばれないように「Unload」から「Hide」に
変更しました。
変更後は、上手くいったのですが、今後は、画面Cを開くと、以下の
エラーが表示され画面が終了してしまいます。
実行時エラー '438'
オブジェクトは、このプロパティまたは、メソッドをサポートしていません。
が表示されます。
「OK」を押すと終了する。
デバッガで動かしてみると問題なく動くのですが、何がいけないのでしょうか。
どのようにすれば正しく動くのでしょうか。
環境は、
Windows2000
VB6.0
-------------------------------------------------------------
画面A
Private Sub Command1_Click()
Dim Result As Integer
Result = From_B.PANEL_INIT
If Result <> NORMAL_RETURN Then
Unload From_B
Exit Sub
End If
From_B.Show
From_B.Data_Delivery data1,data2,data3
'Unload Me
Hide
End Sub
Private Sub Command2_Click()
'From_C.Show
'Unload Me
From_C.Show 1, From_A
End Sub
-------------------------------------------------------------
画面B
Friend Function PANEL_INIT() As Integer
On Error Resume Next
処理
エラーが発生したら
GoTo EXIT_ERR
PANEL_INIT = NORMAL_RETURN
Exit Function
'エラー処理
EXIT_ERR:
PANEL_INIT = UNUSUAL_RETURN
On Error GoTo 0
End Function
Private Sub Command1_Click()
From_A.Show
Unload Me
End Sub
-------------------------------------------------------------
画面C
Private Sub Command1_Click()
'From_A.Show
Unload Me
End Sub
Private Sub Command2_Click()
処理A
End Sub
Private Sub Command3_Click()
処理B
End Sub