• ベストアンサー

VB6自身が強制終了される

アバウトな質問になりますこと最初にお詫びします。 現在WindowsXP(SP2)+VisulaBasic(SP5)にて開発しています。 ざっとした内容はEXE形式で作成されたメニューのプログラムから複数の(メニュー単位の)DLLを呼び出して処理するシステムです。よって全てのソースがVBGにて管理されています。 そこで先日まで動いていたプログラムが急にVB6自身がアボートしてしまうようになりそれ以来、アボートばかりしてしまいます。 ちなみに別のPC(WindowsXP+VB6 SPも同様)の環境では問題なく同じソースで動作しています。ソースの問題ではないと思うのですが何が原因なのでしょうか?ちなみに現段階ではVB6の再インストールを行ないましたが結果は同じでした。VBGから対象のプロジェクトを開放しDLLで実行しても同様でした。しいて言うなら先日メモリを増設したことぐらいの環境変化なのです。解りづらく尚且つアバウトで申し訳ありませんがどなたかご存知の方がおられましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.1

下記を参照してください。 VB5ですがもしかしたらVB6も解消するかもしれません。

参考URL:
http://www.microsoft.com/japan/msdn/vbasic/Downloads/recents.asp
kachimi
質問者

補足

早速のご回答ありがとうございました。参考URLのツールですが、VB5の履歴を削除するのか削除できませんでした。レジストリを直接いじってみようかと思いますが期待薄の感じがします。結局VBは起動するにはするのですが、実行していると同じプログラム(DLL)にてアボートしてしまいます。

その他の回答 (1)

  • investyou
  • ベストアンサー率23% (13/56)
回答No.2

>アバウトな質問になりますこと最初にお詫びします。 一応絞れるだけ絞りこむといい気がします。 例えばVBの再インストールではだめということは一つの絞りこみです。 システムが悪いのか?プログラムが悪いのか?など 他気になる点をざっと書くと ・そのプロジェクト(PGM)は他のマシンで正常動作しますか? ・その特定のDLLを呼ぶ以外は正常なんですか? ・DLLに渡す引数などは以前とかわりませんか? ・メモリを外してみても変わりませんか? また、もし他に影響がないのなら、Xpということなんで システムをリストアする機能があったかとおもいます。 (マイコンピュータを右クリックしたタブで選択できます) 日付を戻すことで、(原因がシステム不安定などなら) 解消するかもしれません。

kachimi
質問者

お礼

回答ありがとうございます。 >・そのプロジェクト(PGM)は他のマシンで正常動作しますか? 質問でも記入していますが正常に動作しています。 >・その特定のDLLを呼ぶ以外は正常なんですか? 正常に動作します。 >・DLLに渡す引数などは以前とかわりませんか? ソースの変更はしておりません。 >・メモリを外してみても変わりませんか? 試してみましたが同じでした。 結局原因不明ですが、正常動作するPCで作成したインストーラーを使用してインストール後、直りました。

関連するQ&A

  • DLL VB Wheel ホイール

    VB6で、アクティブでない(フォーカスのない)コントロールの上に マウスポインタを持ってきて、ホイールが効くようにしようとしてます。 ネットで検索したところ、NYWheelなるものが以下のサイトに、 フリーで、しかもソース付でありました。 http://park1.wakwak.com/~y-nagano/Programs/nywheel/ どうやら、そのサイトにあるDLLをVB6で参照し使用すれば、 目的の事が出来るのではないかと思い、ソースを読もうとしたところ、 VC++の様で、僕には理解できませんでした。 (一応、VCで作ったDLLをVBで読むようにする事が書いてあるサイト http://www.h4.dion.ne.jp/~fht/htmkdll/ を見つけ、試してみましたがお手上げでした。) そもそも、そのDLLがVBで使えるのかどうかもわかりません。 ソースを修正したら、VBでも使える様になるのでしょうか? 納期も迫っているので、回答しようにも分からないので困ってます。 環境はWindowsXP(SP2)+VisualStadio6(SP5)です。

  • VB6インストールエラー

    OSは、WindowsXP Pro SP2 です。 vb6で作成されたアプリケーションをインストールしようとすると、「The language DLL 'vb6jp.dll' could not be found」とエラー表示されて前に進みません。vb6jp.dllは、C:\WINDOWS\system32に既にあります。ちなみにDLLのバージョンは、6.1.83.41です。 どうすれば、エラーにならないでインストールできるようになるでしょうか?よろしくお願いします。

  • VBにてDLLをデバックする方法。

    環境:Win2000+VB6SP5 自作のDLLのVBPとそれを参照するEXEのVBPがあるのですが、 EXE側からDLL呼び出し、呼出し後もDLL内のソースをステップ実行するにはどうすればよいのでしょうか? よろしくお願いしますm(__)m

  • VB6のデバッガ?強制終了?について

     お世話になります。VB6とアクセスにてデータベースを作成中、動作確認のため実行したところ、「問題が発生したためVBを終了します。」が出現、VCが立ち上がり、   「VB6-MICROSOFT C++[停止]-[混合モード] メッセージボックス出現、 「デバッグ ハンドルされていない例外は VB.EXE(VB6.DLL)にあります。OXC 0000005:Accsee Violation」  となります。   そして、そのVCを閉じると「このコマンドを実行するデバッガを停止します」となります。  懲りずに又実行するとやはり同じです。仕方が無いので、VBの別なプロジェクトを用意して、先程のプログラムを「エラーの原因と思われる箇所を除いて」コピーして実行したところ今度は問題なく動きました。  単にコードの記述間違いならその程度を示すメッセージボックスがでるだけでしたが、VC出現は初めてです。  私なりの対処法で、「別のプロジェクトにもう一度書き直す」で一応はメドがたったようですが、別の対処法があれば御教授御願いします。 また、「明確な原因」がわかるならそれもお願いします。

  • VB2.0とVB6.0の共存は可能?

    VBで作成したプログラムについて質問があります。 Windows95上で起動するプログラムをVB6.0で作成したのですが、 インストール対象のパソコンにはVB2.0で作成されたプログラムが 既にインストールされています。 この場合、VB6.0で作成したプログラムをインストールしても 問題はないのでしょうか? 以前DLLの上書きとかで問題が生じるととか聞いたことがあるので不安になっています。 ちなみにインストールするのはプログラムとランタイムのみで、 開発ツールはインストールするつもりはありません。 よろしくお願いします。

  • VBで作成したdllをAccessで使用

    こんにちは。教えてください。 開発環境はXP/Access VBA(97 SP-1)です。 パスワード暗号化用のFunctionを作ったのですが、 このままではモジュールを開き、ソースを読まれたら 暗号化ロジックが判明してしまいます。 そこで、このFunctionをdll化してしまいたいと思うのですが、 dllをVBで作成する場合、VBのバージョンに制限は あるのでしょうか? Accessのバージョンが古いため、少し心配です。 VBは最新バージョンでも問題ないですかね? 宜しくお願いします。

  • VB.NETで作成したプログラムの実行環境

    VB.NETで開発したプログラムが、 WindowsXP SP2 で動作しません。 VB.NET開発環境(Windows2000)は、MDAC2.7で、 WindowsXP SP2にはMDAC2.81が入っている (SP2にすると入るのでしょうか?それとも、XPには元から入っちゃってるのでしょうか?) からだと思います。 さらに、別のPC(Windows2000)に、 MDAC2.81(Microsoftよりダウンロードしたもの)を入れてみると、 こちらではプログラムが動いてしまいました。 ※ただし、ダウンロードする際、動作OSが表示されていましたが、XPは対応していないとのことです・・・ 開発環境より上位のMDACで動作しない、となると問題ですし、 また、XPでは使えない、となっても問題です。 この問題を解消する方法はありますでしょうか?

  • VBAで呼び出したVBのDLLのデバッグ方法

    VB2010で、COM相互運用機能を使って作成したDLLを VBAから呼び出すことはできるのですが この状態でこのDLLをデバッグすることはできないでしょうか。 本来ならば、DLLをデバッグするテストプログラムを VB2010のVB.NETのWindowsフォームアプリケーションか ConsoleApplication1で作成して、 同じソリューションの中に DLLとテストプログラムのプロジェクトを配置して 参照の追加でDLLを参照設定して 両者をデバッグをすると思われますが、 テストプログラムを作るのがかなり大変なのと、 今回作成したDLLは、元々はVBAの中のひとつのプロシージャ―で、 事情があって、このプロシージャ―だけをVBのDLLにしたものです。 このプロシージャ―は元々はVBAの中で正しく動作していたものです。 VBに書き直した時に何らかの不具合が起きていると思われます。 テストプログラムを作らずに、既存のVBAから呼び出して、 DLLの部分の動作だけを(できればVB2010で)デバッグできないでしょうか。 よろしくお願いします。 (WindowsXP SP3 , Excel2003のVBA , Visual Studio 2010)

  • VBプログラムを終了させないようにするには

    VB2005 WindowsXPでの開発を考えています。 メニューボックスは表示せず、終了ボタンからの終了にはパスワードの入力を求めるようにします。 しかしこれだけでは、タスクマネージャ等からの強制終了ができてしまいます。 強制終了も不可能にすることは可能でしょうか? また、できるのであればプログラム起動中は、Windowsの操作(エクスプローラやスタートメニューなど)をできないようにしたいと考えています。現状ではモーダル状態のフォームを最大化して表示させようと思っていますが、他に良い方法を御存知でしたらお願い致します。

  • VC++6.0からVBで作成したActiveX.DLL内の関数が呼出しできない

    VB6.0で作成したActiveX.DLLをVC++6.0(Win32SDK)側で 呼び出すプログラムを作成中です。 VB側(DLL)では問題なく作成できています。 Classに1つPublic関数を作成しただけです。 (Instancingは5MultiUseにしてあります) しかし、VC++側の呼出しでDLL内の関数が 呼び出せないのです。 LoadLibraryExでDLL自体のハンドルは取得できるのですが GetProcAddressで関数の取得時にNULLが返ってきてしまいます。 今まで試したことは ・VBからの呼出しはOK ・MFCだとOK ・SDKでもuser32.dll呼出しのサンプルは関数も実行できる です。 今からMFCへ以降するのは厳しいのでSDkでの方法を 知りたいです。 VB側が悪いのかもしれませんが、関数1つですし、 いじるところもほとんどないので多分VC++側だと 思っています。 なにか注意点とか確認するところをおしえていただければ 幸いです。 環境 Windows2000 SP3 VB6.0 SP5 VC++6.0 SP5 Win32SDK

専門家に質問してみよう