• 締切済み

VCを通して出しか起動できません

フリー版VC++2005でゲームを作成しています。 VCからF5でデバッグ起動すれば動作するのですが、 EXEファイルを直接起動した場合は即、いつもの「問題が発生したため…」 が表示されて止まります。 この様な場合の対処方法を教えてください。 OSはWindowsXpです。irrlicht 1.1というライブラリを使用していますのでプログラムのかなりの部分がブラックボックスです。 よろしくお願いします。

  • k_ppm
  • お礼率69% (16/23)

みんなの回答

  • mssine
  • ベストアンサー率24% (38/156)
回答No.1

VC2005では未確認ですが。。。 デバッグモードだと変数初期化(0とは限らない)がされますが、デバッグ無しですと初期化されません。 よって、変数の初期化漏れがあると思われます

k_ppm
質問者

補足

デバッグで動いていること自体が奇跡だったのか、突然どっちでも動かなくなりました。おかげである程度原因が絞れましたが、質問内容と離れるのでここで締め切りたいと思います。回答していただいてありがとうございました。

関連するQ&A

  • VC++にて_spawnlpでプロセス起動

    Microsoft VisualC++にて_spawnlpを使用してのプロセス起動について質問です。 環境 OS:WindowsXP MS-Visual C++ 6.0 ----------------------------------------------------------------- int i; char cTask[10][50]; //起動するexeのパス&ファイル名 if(i=0; i<10; i++) { /* プロセス起動 */ ret = _spawnlp(_P_NOWAIT,cTask[pno],cTask[pno],NULL); } ----------------------------------------------------------------- 上記プログラムでcTaskに登録されているEXEを起動させています。 cTaskに登録されているEXEは、どれもVC++にてコンソールアプリケーションとして作成しています。 ですので、エクスプローラにて単体で各EXEを起動させると、10個のコンソールが表示されます。 ですが、上記プログラムにてcTaskに登録されているEXEを起動させると、画面上には1個のコンソールしか表示されません。 タスクマネージャで確認すると、全てのEXEは起動していますので、画面上のコンソールが1個に纏められてしまいます。 各EXE毎に10個のコンソールを表示させるようにしたいのですが、どのようにすればよいのでしょうか? 上記プログラムもVC++のコンソールアプリケーションとして作成しました。

  • VC++6.0で作成されたActiveXコントロール

    まだプログラミングを始めて日が浅いため、馬鹿な質問をしていたら申し訳ありません。 現在、ActiveXコントロールを使ったプログラムを作成しております。 メインの環境がVC++2008なのですが、このActiveXコントロールがVC++6.0で作られた物であるため、VC++2008で使用しようとするとエラーが出てしまいます。 またプログラム中で使っているライブラリの中でVC++6.0で動いてくれないものもあり、私としては慣れないVC++6.0より何とかして2008でこれを使いたいのですが・・・ 一応現在はVC++6.0でこのActiveXコントロールを動作させるプログラム(以下exeと略)を作り、このexeをVC++2008のプログラム内でCreateProcess関数で呼び出すと言う方法を取っています。 引数はコマンドライン引数、処理結果はファイル経由で受け渡しをしています。 このActiveXコントロールというのがあるカメラから画像を取得するものですので、どうして処理時間の長さが気になります。 そこでプロセスの起動と終了にかかる無駄な時間を減らすため、このexeをDLL化できないものかと考えています。 前置きが長くなりましたが、私が質問したいことは (1)「VC++6.0で作られたActiveXコントロール」を使用したDLLを作れるのか?作れるのならばそれはVC++2008で使えるのか? (2)DLL化以外に処理時間を短くする方法はないか?(例えばexeを立ち上げっぱなしにしたまま引数等をメインプログラムとやり取りできないか?) の2点です。 なおこのActiveXコントロールはソースがないため、VC++2008でビルドしなおすと言う手が使えません。 よろしくお願いします。

  • VC6.0++でDXライブラリが上手くいかない!

    Windows10で家に昔買った VC6.0++があったのでインストールして DXライブラリのプログラムコードを入力して 実行してみたのですが、 VC6.0++上のビルドでは画像を表示するプログラムなら画像が表示されるし 音を鳴らすプログラムなら音がなるんですが、 作成したexeファイルを実行した場合、プログラムが実行されません なぜでしょうか? 何が悪いのでしょうか? 教えてくださいよろしくお願いします。

  • 【VC++6.0】外部exeを2つだけ起動させたいのですが・・・

    現在VC++6.0を使用して、外部exeを起動させようとしていますが、 なかなかうまくいきません。 詳しい方いましたら、具体例を踏まえて教えて頂けませんでしょうか?? (本当にお願いします。) (私自身、C言語はなんとなくわかっているつもり(学生レベルの下)  ですが、VC++になって現在更に混乱しています。) (返事はちょっと遅れますが、必ずしますのでお願いします。) ************************************************************** 【やりたいこと(例で紹介します)】 ・ボタンを押して、1つのcalc.exeを立ち上げられるようにします。 ・更にボタンを押せば、calc.exeが2つまで立ち上がることは許可します。(3つ以上はだめ) ・立ち上がっていたcalc.exeが一度終了し、更にボタンを押せば、  クリックの回数分上限2つまでcalc.exeを立ち上げます。 【条件】 ・2つまでcalc.exeが立ち上がっていれば、ボタンを押したことをカウントしないとします。 ・起動もとのVC++のプログラム上の他のボタンは有効とします。 ************************************************************** 私の環境: Windows XP proで、VC++6.0を利用してます。 希望: ・できれば、Shellexecuteを使いたいです。 ・プロセスはあまり・・・(ネットで具体例をみましたが、全く使いこなせませんでした。) 以上、よろしくお願いします。

  • VC6が起動できません。

    いつもの様に会社に来てからパソコンの電源を入れて、昨日の続きからソフトを作ろうと思い、これもいつもの様にVC++Ver6アイコンをクリックしました、するとタイトル画面が出たと思いきや、 「0x77fcc00aの命令が0x0019fff8のメモリを参照しました。メモリが"read"になることはできませんでした。」と言う、Msdev.exe-アプリケーションエラーが出ました。タイトル画面から先に進みません。 思い切ってVC++をインストールし直して見ましたが症状は変わりません。いったい何が起きたのか、さっぱりわかりません。 どなたか御わかりになる方、すみませんが対処両方を御教えください。 サービスパック6はあててあります。他のマイクロソフトの製品、VBやエクセル、ワードは正常に動作しています。OSは2000です。 VC6って古いから、もう動かないのかなあ。どうかよろしく御願いします。

  • VC++でEUC->ShiftJIS変換

    現在、VC++はじめて1週間です。MSDNがない為HELPが参照出来ません。 VC++にてプログラムを作成しているのですが、EUC→ShiftJIS変換を行いたいのですが、関数は用意されているのでしょうか。 また、用意されていない場合、フリーのライブラリ等ご存知の方がいらっしゃいましたら、教えて頂けないでしょうか。 よろしくお願いします。

  • VC++アプリからEXCELを起動できない。

    じんちゃんと申します。 EXCEL2003をVCアプリからバックグラウンド起動したいのですが上手くいきません。 どなたかご存知でしたら助けてください。主な条件は次の通りです。 [概要] VCアプリ内でCreateProcess()を用いてEXCEL.EXEをブック(.xls)引数で起動しています(ブックはマクロ付き)。 [環境]  ・EXCEL2003のみの製品をインストール。   VB6.0のランタイムを入れています。   Framework1.1も念のため入れました。  ・VC++.Netで開発したEXEからEXCELを起動しています。  ・OSはWindowsXP SP2です。  ・以前は動いていたのですがある日以降動かなくなりました。  ・現在でも起動対象ブックを手動で起動すると画面が問題なく表示されます。 [現象] 1.起動するとEXCELの起動ロゴが一瞬表示されるが起動しない。   タスクマネージャを見てもEXCEL.EXEが存在しない。 2.起動失敗後、対象ブックを手動で開くとセーフモード起動を聞かれます。   加えて起動後、マクロセキュリティを低に設定していたのが強制的に高   に設定されてしまっています。   手動起動後、以降、セーフモード起動は聞かれません。   CreateProcess()からの起動(バックグラウンド起動)した場合にのみ起動失敗します。 3.EXCEL2003を再度インストールして実施しても変化なし。 4.CreateProcess()の戻り値は正常でした。 5.他のNOTEPAD.EXEをEXCEL.EXEに変更して起動すると表示される。   恐らくEXCEL2003のみの固有問題と思います。   他のEXCELバージョンでは問題なく起動できます。 6.EXCEL2003だとブック指定なしでEXCEL.EXEを単体起動しても起動に失敗します。 よろしくお願いします。

  • VC++2010で作ったアプリケーション

    最近VC++でアプリケーションを作りました。 VC++のMFCを使ってです。 簡単なカレンダーなのですが、・・・ そのカレンダーのプログラムをコンパイルするとexeファイルができ、 そのexeファイルをクリックすると、確かに起動し、アプリケーションを使うことができるのですが、 問題はここからで、 このファイル、自分のパソコン上では動くのですが、 ほかの人のパソコン上だと「コンポーネントが見つかりません、mfc100,dllが見つかりません」 とか言う警告が出てしまうのです。 なぜ他のパソコンでは起動できないのですか? もしかして、作ったアプリケーションは、exeファイルだけあってもだめなのでしょうか? よろしく願います。

  • Shellで起動したGnuplotを終了させるには

    VC++6.0からShellExecuteを使ってwgnuplot.exeと言うフリーのグラフ作成 プログラムを起動させています。 使い終わったらVCから終了させいのですが方法が解りません。 パイプ機能を使うと出来そうなのですが他に簡単な方法はないでしょうか。

  • VC++アプリからEXCELを起動しても画面が出ない

    はじめまして。 じんちゃんと申します。 EXCEL2003をVCアプリから起動したいのですが上手くいきません。 どなたかご存知でしたら助けてください。主な条件は次の通りです。 [概要] VCアプリ内でCreateProcess()を用いてEXCEL.EXEをブック(.xls)引数で起動しています(ブックはマクロ付き)。 [環境]  ・EXCEL2003のみの製品をインストール。VBランタイムは入れています。   VB6.0のランタイムを入れています。   Framework1.1も念のため入れました。  ・VC++.Netで開発したEXEからEXCELを起動しています。 2.OSはWindowsXP SP2です。 3.以前は動いていたのですが突然動かなくなりました。 4.現在でもブックを手動で起動すると画面が問題なく表示されます。 [現象] 1.起動するとEXCELの起動ロゴが一瞬表示されるが起動しない。 2.起動失敗後、ブックを手動で開くとセーフモード起動を聞かれます。   加えて起動後、マクロセキュリティを低に設定していたのが強制的に高   に設定されてしまっています。   CreateProcess()からの起動した場合にのみ起動失敗し環境が変わりま   す(前述のセキュリティレベルが強制変更される)。 3.EXCEL2003を再度インストールして実施しても変化なし。 4.CreateProcess()の戻り値は正常でした。 5.他のNOTEPAD.EXEをEXCEL.EXEに変更して起動すると表示される。   恐らくEXCELのみの固有問題と思います。 6.ブック指定なしでEXCEL.EXEを単体起動しても起動に失敗します。 よろしくお願いします。

専門家に質問してみよう