開発中のPGが一段落ついたのでコンパイルを行ったところ
Dllファイルの作成ができなくなってしまいました。
強制終了したところC2.EXEというプログラムが実行されている状態でした。
デバッグでは動くのですが原因がわかりません。
VB5を使用しています。
何かわかる方がいたらよろしくお願いします
C2.EXE は、バックエンドのコンパイラですね。
単に、コンパイルに時間が掛かっているだけ……という事はありませんか?
さしあたり、以下の事を試してみては如何でしょう。
(1) 数時間放置して様子を見る。(汗)
(2) コンパイル前に、VB内のコードウィンドウなどを、すべて閉じておく。
(3) ネイティブコードではなく、P-Code コンパイルを試してみる。
(4) PCを再起動した直後にコンパイルを試してみる。
(5) 他のコンピュータで開発してみる。
ご返事、ありがとうございます。
>(1) 数時間放置して様子を見る。(汗)
>(2) コンパイル前に、VB内のコードウィンドウなどを、すべて閉じておく。
>(4) PCを再起動した直後にコンパイルを試してみる。
(2)(4)の条件で、10分ほど待ってみましたがダメでした。
今回の前の段階でコンパイル時に、1分かかっていなかったので無理そうかなぁと。
>(5) 他のコンピュータで開発してみる。
VB5の環境が今すぐ用意できないので後回しに・・・。
>(3) ネイティブコードではなく、P-Code コンパイルを試してみる。
無事コンパイルできました。1〜2秒で終わったのには驚きました・・・
ただ、コンパイルで上記の種類があるというのを知らなかったので
(HELPやいくつか調べたところ、差はだいたいわかったのですが)
従来がネイティブで作られていたものを、
今回からPコードに方法を変更して問題ないのかが悩んでいます。
他の関連するEXEやDllはすべてネイティブでした。
また、魔界の仮面弁士さんの案を試す前に、質問後にも色々捜し続けたところ
似たようなケースがありその解決方法を試してみました。
その方法は、
コンパイルでハングしているファイルが大きすぎて、
リソース不足になっているのでファイルを分割してコンパイルする
でした。
この方法で試したところ、ネイティブモードのままでもコンパイルできました。
ただ既存のソースに手を加える部分が多くなってしまうので、
モードの変更で解決したいと思っています。
すみませんが、どちらの案がリスクが低いか等アドバイスを頂けませんか?
10分は少し我慢が足りないのでは、ハードディスクのアクセスランプを見て、
時々動いていたらそのままほっといて、最低でも1時間位は待つとか。
ネイティブとスピードを比較して変わらないかもしくは、少し遅くても問題ないのなら、
P-Codeコンパイルでいいんでは。
ちなみに開発環境のマシンースペックなんかを書いてみると、何かいいヒントが出るかも。
ツイート | ![]() |