環境 :Windows XP
VB6
ActiveX Exeのクラスのオブジェクト生成時にエラーになります。
Test.exeの中にClaのクラスモジュールがあります。
参照設定で、Test.exeを参照し、
Set fCla = New Cla
を行うと、
3704 「オブジェクトが閉じている場合は、操作許可されません。」
エラーになります。
原因がつかめないのですが、わかるかたいらっしゃいますか?
よろしくお願いします。
ADO / OLE DB が出すエラーメッセージに似ていますね。
もしかしてそのクラスは、Private Sub Class_Initialize() 内で
データベース接続を行っていませんか?
・ini ファイル等が正しく読み込まれず、接続情報が間違っている。
・On Error で、本来のエラー箇所がスキップされてしまっている。
・コードの誤りで、Connection / Recordset / Stream が
開かれていないときに、特定の操作をしようとしている。
など。たとえば、以下のようなコードでも、同様のエラーが再現されます。
Dim cn As Object
Set cn = CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.JET.OLEDB.4.0"
cn.Properties("Data Source").Value = "C:\db1.mdb"
'cn.Open 'Openされていない
Dim rs As Object
Set rs = cn.Execute("SELECT * FROM TBL")
プログラムの中身について、何も記載が無いので想像ですが、
Test.exeの中でデータベースをオープンしてない状態で、
何かしらの操作をしようとしてるのが原因では無いでしょうか?
(エラー表示そのまんまですが。。。)
自己解決しました。
とりあえず、Test.exeをコンパイルし直しました。
すいません、ありがとうございました。