• 締切済み

VB6 EXEとプログラムの違い

現在、VB6で帳票系のプログラム開発中ですが、 プログラム上で実行した結果と、EXEの結果に違いが出ています。 OCXやDLLなどのチェックは行いましたが、 解決出来ません。 開発経験の少ない者の質問ですが 宜しくお願い致します。

みんなの回答

  • angel_Z
  • ベストアンサー率66% (12/18)
回答No.4

こんにちは。 実行EXEと同じ場所に、使用するDLL等も置いてありますか?

takashihiga82
質問者

お礼

ご回答 ありがとうございます。 いいえ。 使用するDLLは、Cドライブに置いています。 こちらで、 実行環境の見直しを行います。

  • joqr
  • ベストアンサー率18% (742/4026)
回答No.3

ディストリビューションウイザードで、セットアップキットを作り 別のPCにインストールする exeをコピーするなんて、幼稚園児みたいな真似はしないこと 素人を自負するなら、手を抜いて周りに迷惑を掛けないのが 新人の最も大切な心がけ

takashihiga82
質問者

お礼

ご回答 ありがとうございます。 実行環境の見直しを行います。

  • lily5353
  • ベストアンサー率42% (18/42)
回答No.2

VB6でよくある話です。ほとんどの場合はインタープリタ(プログラム上で実行)とexe実行の環境が異なるのが原因。 環境設定を意識的に変えていなければ、インタープリタの実行はデフォルトフォルダがVB6がインストールされているフォルダです。OCX や DLL の参照はそこからの相対パスになります。 exe実行はexeが配置されているフォルダになるので、上記の相対パスと異なる。DLLが見つからなかったり、システムフォルダにある違うバージョンのDLLを勝手に使ったりします。exeを開発PCと異なるPCに持っていくとなおさらこの問題が起きます。 具体的な状況が分からないと、解決策は一概に言えないですが。一般論ですが、EXEのみコピーして実行するではなく、必ずインストールファイルを作成して、exeをインストールしてから実行してみてください。VBのインストールDISK作成ウィザードを使えば簡単にできます。

takashihiga82
質問者

お礼

ご回答 ありがとうございました。 上記の様に、処理を行いたいと 思います。

  • angel_Z
  • ベストアンサー率66% (12/18)
回答No.1

こんにちは。 プログラム修正後に作成したEXEの実行結果が違うのですか? 使用したEXEが修正前のEXEって事ないですかね。。。 どのような違いの結果なのか、もう少し教えて頂けるとわかりやすいのですが。

takashihiga82
質問者

補足

ご回答ありがとうございます。 また、言葉足らずで、申し訳御座いません。 修正前のEXEを見ている訳では、御座いません。 帳票上での表示の違いです。 プログラム上では、コードと名称を取得して、帳票に印字していますが、EXEを作成して、EXEを実行後、帳票を見ると、 コードと名称が非表示になっています。 宜しくお願い致します。

関連するQ&A

  • VB4.EXE で 実行時エラー '31037'

    WIN2000 で VB4.EXE を 動かそうとすると 実行時エラー '31037' ファイルの読み込み中にエラーが発生しました。 とエラーが出ます。 どうやらグリッド部分の読み込みで エラーが出てるみたいです。 VB6.EXE を 設定した人間が 環境を変えたらしく 今までのように最低限のDLL,OCXで 動かなくなりました。 VB4.EXE と VB6.EXE を 共存させるには どうすればいいでしょうか?

  • VB6.0 ExeとDllの違い

    いつもお世話になっております。 今更ながらなのですがVB6.0について質問させて下さい。 新規でVB6.0を起動すると、「標準Exe」・「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」等がでてきますよね? 普段アプリを開発する時は「標準Exe」しか使用しないのですが、「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」の違いは何なのでしょうか?(どういうときに使い分けるのでしょうか?) ActiveXDll・・・ソースコードのみ?参照設定する?(クラスやモジュールと何が違うのでしょうか?) ActiveXコントロール・・・独自のコンポーネント(部品)を作る?(OCXのようなものでしょうか?) ActiveXExe・・・(一番分かりません) どなたかご教示お願いします。

  • VBにてexeを実行させる方法

    環境OS:2000 開発ツール:VB,ACCESS,TDBGrid を用いてDBシステムを作成したのですが ・VB や その他のツールをインストールした端末にて  exe を実行できるのですが ・ツールを全くインストールしていない端末では一部  しか動作しません 開発時、[プロジェクト]-[参照設定]or[コンポーネント] の設定は変更いたしました 予想では dll,ocx ファイルが無いのが原因かなと 思っています この場合,どのようなファイルをどこに入れると、 ツールのインストールしていない端末でも動作するのでしょうか? 教えて下さい

  • VB5.0からVB6.0への移行について

    VB5.0からVB6.0への移行について プログラマー初心者です。 VB5.0で作成したプロジェクトを、VB6.0で開くと、 【'C:\...\marquee.ocx'を読み込めません。--プロジェクトのロードを続けますか?】と 【'C:\...\raocx32.dll'を読み込めません。--プロジェクトのロードを続けますか?】の メッセージが出力されます。 "marquee.ocx"と"raocx32.dll"は、ともにWebサイトよりダウンロードして、 'C:\WINDOWS\system32'に保管しましたが、認識しません。 コマンドプロンプトで、 'regsvr32 marquee.ocx'を実行させましたが、 【"marquee.ocx"は実行可能ファイルではないか、 またはこのファイルのヘルパが登録されていない可能性があります。】 というメッセージが出力されます。 "marquee.ocx"と"raocx32.dll"を読み込ませたいのですが、 方法を教えてください。 宜しくお願い致します。

  • VistaでVBのコンパイル

    VB素人ですが、教えてください。 現在XPのPCでVB6SP3で開発をしています。 mshflxgd.ocxを使ったEXEをコンパイルして、 VistaのPCで起動すると表示されません。 同じプログラムをVistaのPCのVB6SP3でコンパイルして起動すると表示されます。 何か違いはあるのでしょうか。 mshflxgd.ocxはレジストリ登録済みです。 あと、同じプログラムなのにコンパイルした際、EXEのサイズが違いました。Vistaの方が4Kほど大きかったです。 何かご教授頂けないでしょうか。 よろしくお願いします。

  • VB6のアプリケーションの配布

    VB6でアプリケーションを作成したのですが、他のマシンに配布する場合に実行形式(EXE)だけだと、DLLやOCXなどの有無やバージョンの違いで動作しないのですが、Setup.exeなどダブルクリックするだけで、インストールできるようにしたいですが、方法がわかりません。 VBのランタイムは、このSetup.exeより先にインストールしないと、Setup.exe自体でインストールが中断されるのでしょうか? あと、.NETですがVB6のようにDLLやOCXの有無・バージョン違いなど気にせず簡単に配布できるのがメリットの一つと解釈しても良いのでしょうか? このように配布・インストール関連で詳しい書籍などご存知でしたら教えてください。 インストーラソフトというものは言葉聞いたことがあるのですが、 .NET使うならば、あまり必要ないのでしょうか?これもお勧めのインストーラソフトがあるのでしたらご教授下さい。

  • VB4のWin2000、WinXP対応

    VB4で作成したプログラムがWin2000やWinXPで実行できないようで 私もそのような環境を持ち合わせておらず困っています。 DLLファイルかOCXファイルの読み込みの際にエラーが起こるようなのですが 下記のファイルが各OSに対応しているかどうかおわかりになる方おられますか? もしくはファイルをいれる場所が悪いのでしょうか? また、対応させる手段はありますか? 1.VB4JP32.dll 96/03/09 2.VB40032.dll 96/01/12 3.MSCOMM32.ocx 98/06/24 4.COMCTL32.ocx 98/06/24 5.RICHTX32.ocx 96/03/09 6.TABCTL32.ocx 96/09/04 どうかよろしくお願いします。

  • VBがデバッグ時落ちてしまう

    VC6.0でDLLを作成し、VB6.0で呼び出すプログラムを作成しています。 DLLの内容はWindowハンドルを引数にしてそのハンドルを持つWindow上にListboxを作成するというようなものです。(もともとC言語用のDLLだったものをVBで使いまわしています) このプログラムをデバッグ実行し、デバッガ上で停止[実行->終了]とすると、VB6.exeがアプリケーションエラーで落ちてしまいます。(DLLの関数を呼ばない限り大丈夫です) デバッグ実行でも普通に終了(アプリケーションでの終了)であれば正常に終了してくれます。 このままですと、実行時エラーで止まる度にVB6.exeが落ちてしまい非常に不便です。 このような現象で困った方いませんか? 解決策がありましたら教えてください。

  • EXEからDLLへ移植

    以前、下のような質問をさせていただいたものです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1748227 EXE(実行形式)で既にあるプログラムをDLLとして移植したいのですが、うまくいきません。うまくいかない事象は上のページで質問しましてまだ解決しておりません。(ウインドウ内にCreateDialogを用いてダイアログを表示させようとしても表示されない) 実行形式で組まれたプログラム(ソース)をDLLに移植する時の一般的な方法、注意すべきところ、そのままソースを移植してもダメな理由(EXEとDLLの違い)などありましたら教えてください。同じようなことをした経験のある方など、よろしくお願い致します。

  • VB2005で作成したDLLの呼び出し方

    はじめまして、VB2005(.NET)初心者です。 現在、各プログラムを実行するためのメニュー プログラムを作成しています。 .net以前では、各プログラムをEXEで作成し API関数を利用し、メニューより実行させて いましたが、今回、各プログラムをEXEではなく dllで作成し実行する方法で作ることになりました。 各プログラムのdllを実行する方法がわかりません。 参考書等みてみましたが、見当たりません。 どのようにしていらっしゃるか教えて下さい。 宜しくお願いいたします。

専門家に質問してみよう