ActiveXDLLで作成した共通画面を呼び出し
DLL側でVBエラー等が発生した場合に
呼び出し元のEXEでエラーの情報を取得する事はできないのですか?
ERR.Objectは空っぽだし、LastDllErrorなるものがありましたが
特にエラー情報は内様子誰か教えてください。
DLL側のクラスの中に↓の様なプロパティを用意(参照のみ)
Public Property Get DLLErr() As ErrObject
'エラーオブジェクト渡しちゃう、多分出来ます
'出来ない場合細分化して(Number,Description)を用意して見て下さい
DLLErr = ErrObject
End Property
受け取り側は
dim ClsNotify as New ClsErrTest
If ClsNotify.DLLErr = True Then 'DLL側のエラー判定
Debug.Print ClsNotify.Number
Debug.Print ClsNotify.Description
End If
インスタンスクリアするまでエラー情報は残っていると思います
解決しました。
↑のProperty Getの部分を以下の様にすれば可能でした。
Public Property Get DLLErrObject() As ErrObject
Set DLLErrObject = Err
End Property
こんな事ができるとは知りませんでした。
いい勉強になりました
マザーさんありがとうございます。
ツイート | ![]() |