Final Realityは付属しているバージョンのMFC42.DLLでないと動作しないようです。特にVisual Studio 6.0 SP1についている最新バージョンがインストールされていると、起動時に一般保護違反が発生します。Final Realityが好きな人は、これらのモジュールをインストールしないように気をつけてください。
- re: axia さん
投稿日:1998年12月25日 00時44分
そうなんです!!せっかくバンジー入れたのでFinal Realityを見ようと思ったら、いつのまにか起動時に一般保護違反が・・・すいませんが復活の方法を教えてください。
- re: os さん
投稿日:1998年12月25日 02時01分
msvcrt.dllのバージョンによっても一般保護違反が発生します。
一番確実な方法はWindows起動直後にFinal Realityのフォルダにある
これらのファイルをwindows\systemに上書きコピーしてやることです。
winがこれらのファイルを使用しててこぴーできない時はDOSモードで。
ただしFRで不具合が出るように他のソフトで不具合が出る可能性がある
のでバックアップはしといたほうが良いです。
- re: TDF さん
投稿日:1998年12月25日 13時36分
基本的にはプログラムが必要とするDLLは、
最初に自分と同じディレクトリを見に行きます。
つまりデフォルト状態ならばインストールしたそのままで動くはずですが・・・。
重複ファイル削除かなんかやっちゃったんでしょうか?
- re: os さん
投稿日:1998年12月25日 13時43分
>最初に自分と同じディレクトリを見に行きます
FRだと見に行かないみたいです。
- re: os さん
投稿日:1998年12月25日 14時45分
最初にどうこう以前に全く見にいってない様です。
FRフォルダにmsvcrt.dllがある状態でsystemフォルダのmsvcrt.dllを
リネームしてFRを起動するとプログラム開始エラーが出るので。
- re: Ken さん
投稿日:1998年12月25日 16時46分
私はプログラム開発環境であるNTとゲーム専用の95と別にしているので一般保護は出たことがありません。
しかし、VS6.0SP1のMFC42.DLLで一般保護ですか(^^;;
プログラマはNT使っていらっしゃると思いますが(DirectX開発の場合は除く)最新のDLLでエラーが出るなんてやはりバージョンに不具合があったんですね。
しかしVC6.0で作成されたものはMFC拡張されてあったと思うので動作しないかもしれませんし(VCは余り知らない(^^;;)
しかも \windows\system にしか見に行っていないなんて…
おそらくFinal Reality付属の物はあくまで付属だと思います。
- re: TDF さん
投稿日:1998年12月25日 19時23分
>osさん
使用OSはWin98ですか? 私はWin98です。
FinalRealityのプログラムをちょいと覗いて見たんですが、
「windows\system\msvcrt.dll」とは何処にもなかったんです。
ただ「msvcrt.dll」と書いてあるだけ、これなら同一DIRを見に行くはず。
でも確かに「win98\system\msvcrt.dll」がないと怒られる・・・ん?「Win98」だ?
(私は「Win98」と言うフォルダにWinをインストールしています。)
まさかと思って「APPLOG」フォルダの「FR.LGD」を開いて見たらありました。
「win98\system\msvcrt.dll」の記述が。そーか、こいつのせいか。
インテル・アプリケーション・ランチ・アクセラレータがいたずらしていたようです。
でも書き換えてもまだ関係ファイルがあるらしく、
相変わらず「win98\system\msvcrt.dll」がないといってくる。
関連ファイルのログを全部書きかえれば大丈夫なはずです。
他にもアプリの起動を速くするユーティリティがあるとこうなってしまうかも。
とりあえず今は書き換え中です、結果報告はまた後日。
- re: os さん
投稿日:1998年12月25日 22時59分
>使用OSは
Win95-OSR2(V200に付属のものをCABSセットアップ)です。
エラ−の出るmsvcrt.dllのバ−ジョンは6.00.8267.0でした。
- re: TDF さん
投稿日:1998年12月26日 03時18分
・・・なんか、うまくいかない。
MFC42.DLLは同一フォルダ見にいってるのになぁ・・・。
誰か詳しい人いますか? 私はあきらめました。(というか面倒くさい)
- re: Selly さん
投稿日:1998年12月26日 04時29分
WindowsがDLLを検索する順序は以下の通りです。
1.EXEの存在するディレクトリ
2.カレントディレクトリ
3.Win9x…システムディレクトリ WinNT…32ビットシステムディレクトリ
4.WinNT…16ビットシステムディレクトリ
5.Windowsディレクトリ
6.PATH環境変数で指定されたディレクトリ
(MSDN Library CD for Visual Studio 6.0参照)
で、mfc42.dll、msvcrt.dllはLoadLibrary() APIで明示的リンクされることはまずあり得ないので上記の順序が適用されるはずです。
よってEXEと同一フォルダに入れておけば問題ないはずなんですよねぇ…
#私はFinal Realityなるものを見たことないので詳しいことは知りません(死)
#余談だけど、Windowsって意味不明なエラーメッセージ出しますね…
#VS6.0SP1のDLLを使用するようにコンパイルしたアプリを旧バージョンのDLLの入ったシステムで実行すると「指定されたデバイスは動作しません」とか出るらしい…
#NTだと「欠落エクスポート…」って出るんですけどねぇ…
#タダのゴミレスだ(死)
- re: はっし〜 さん
投稿日:1998年12月28日 13時46分
>msvcrt.dllのバージョンによっても一般保護違反が発生します。
うちでも突然この現象が発生するようになってしまって困っていました(^^:。CPUをP55C-200からK6-2-333に変えた時にベンチマークを取ろうと思ったのですがとれず、再インストールしても駄目だったので諦めていましたが・・・・
>他にもアプリの起動を速くするユーティリティがあるとこうなってしまうかも。
>とりあえず今は書き換え中です、結果報告はまた後日。
うちでもHD革命PowerPackで起動速度アップの対象にした覚えがあるので、原因はこれかもしれません。帰宅したら僕も確認してみようと思います。