MFC ActiveX ControlWizard のエラー – プログラミング – Home

通知
すべてクリア

[解決済] MFC ActiveX ControlWizard のエラー


テン
 テン
(@テン)
ゲスト
結合: 23年前
投稿: 35
Topic starter  

初めて質問します。

環境は
WINXPPro VC6.0 SP5 MFC
です。

MFC ActiveX ControlWizard
でつくったプロジェクトをビルドすると
次のエラーがでます。

...
リンク中...
ライブラリ Release/OCX.lib とオブジェクト Release/OCX.exp を作成中
ActiveX コントロールを登録しています...
'C:\DOCUME~1\テン' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
c:\windows\system32\cmd.exe の実行エラー

同じプロジェクトを
WIN2KPro VC6.0 SP5 MFC
ではエラーはでません。

エラーの回避方法を教えてください。


引用未解決
トピックタグ
ん
 ん
(@ん)
ゲスト
結合: 23年前
投稿: 81
 

> 'C:\DOCUME~1\テン' は、内部コマンドまたは外部コマンド、
> 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

'C:\DOCUME~1\テン' とは、フォルダでしょうか?
それとも、拡張子なしのファイルでしょうか?
とりあえず、そのへんから調査になると思いますが。


返信引用
テン
 テン
(@テン)
ゲスト
結合: 23年前
投稿: 35
Topic starter  

ん さんありがとうございます。

> 'C:\DOCUME~1\テン' とは、フォルダでしょうか?
フォルダだとおもいます。
実際に'C:\Documents and Settings\テン 1'というフォルダが存在します。
WINXPのユーザーアカウントで 'テン 1'というユーザーを作成しました。
そしてログインしました。
そのほかにも 'テン 2'、'テン 3'というユーザーも作成しました。
すべてアドミニストレータの権限をもったユーザーです。

ただし 'テン'というのは仮称です。 '日本'とか 'アメリカ'とか '田中'のような
ユーザー名に置き換わります。ややこしくてすみません。 _(._.)_

また、プロジェクトフォルダは 'C:\PRG\OCX' です。

ウィザードが出力したコードには、なにも手を加えずにビルドしました。

そのほかに 'ATL COM AppWizard' でも同じ様なエラーが出ます。

何か解決の糸口ないでしょうか?
よろしくお願いします。


返信引用
さなえ
 さなえ
(@さなえ)
ゲスト
結合: 23年前
投稿: 24
 

XPのフォルダ見てもだめですよ。
WIN2KPro VC6.0 SP5 MFC では認識できているのだから
WIN2KProマシンにあってWINXPProマシンにないものです。
(別マシンですよね?)
プロジェクトのカスタムビルドから'C:\DOCUME~1\テン'を
呼び出していると思うのでそちらも確認してください。


返信引用
テン
 テン
(@テン)
ゲスト
結合: 23年前
投稿: 35
Topic starter  

さなえ さんありがとうございます。
早速調べました。

その結果、DEBUGフォルダ下
regsrv32.trg ファイルがないことがわかりました。
regsrv32.exe は WINDOWS\SYSTEM32下にあります。
コマンドプロンプトで
regsrv32 OCX.OCXリターンで登録もできました。
ビルドが,regsrv32.exeの呼び出しで失敗しているのか
あるいは、regsrv32.exe が C:PRG\OCX\DEBUG\OCX.OCXを呼び出せないのか?
ビルドがログインユーザーのホームポジション 'C:\DOCUME~1\テン'を
何かと入れ違えているように思えますが?
ビルドに教える方法あるのですか?


返信引用
テン
 テン
(@テン)
ゲスト
結合: 23年前
投稿: 35
Topic starter  

regsrv32 -> regsvr32 のまちがいです。すみません。 _(._.)_


返信引用
テン
 テン
(@テン)
ゲスト
結合: 23年前
投稿: 35
Topic starter  

エラーの回避方法が見つかりました。
原因は 'テン ' ではじまる複数のユーザーアカウントでした。
'テン 1'、
'テン 2'、
'テン 3'
ユニークな名前の('ABCDE'の様な)新規ユーザーを作成して
そのユーザーでログオンし、ビルドするとエラーはでませんでした。
ん さん、さなえ さん、ありがとうございました。


返信引用
駄犬
 駄犬
(@駄犬)
ゲスト
結合: 23年前
投稿: 59
 

解決したところになんですが。。。

'C:\DOCUME~1\テン' という(多分)中途半端なショートファイル名が気になります。
これは、本来なら'C:\DOCUME~1\テン 1\なんたらかんたら'のようにダブルクオーテーシ
ョンで括られるか、あるいは'C:\DOCUME~1\テン~1\なんたらかんたら'のような完全なショー
ファイル名で指定されるべき個所のように思われます。
メイクファイルをエクスポートしてみれば、問題の個所を突き止められる*かも*しれません。
それで根本的な原因が判るかどうかは別として、どこでおかしくなる可能性があるか、後学の
ために把握しておくといいでしょう。その知識がいつの日か役立つことになる*かも*しれませ
ん。(^^;

以上いくつか仮定を交えて話をしました。
見当違いだったら申し訳ありません。


返信引用
テン
 テン
(@テン)
ゲスト
結合: 23年前
投稿: 35
Topic starter  

追記です。
エラーの原因がログインユーザーの名前にあると思ったのですが、
そうでもないらしいです。すみません。 _(._.)_
'テン 2'でも 'テン 3'でもエラーなしです。'テン 1'のみエラー

>メイクファイルをエクスポートしてみれば
メイクファイルは作成されていませんでした。 [*.MAK]

それで、HTML Documentに保存されたビルドのログをみると、
...
コマンド ライン link.exe @C:\DOCUME~1\テン 1\LOCALS~1\Temp\RSP10.tmp" の作成中
一時ファイル C:\DOCUME~1\テン 1\LOCALS~1\Temp\RSP11.bat を作成し、次の内容を記
録します
...
コマンド ライン "C:\DOCUME~1\テン 1\LOCALS~1\Temp\RSP11.bat" の作成中
タイプ ライブラリを作成中...
コードを生成中...
リンク中...
ライブラリ Debug/OCX3.lib とオブジェクト Debug/OCX3.exp を作成中
アウトプット ウィンドウ
ActiveX コントロールを登録しています...
'C:\DOCUME~1\テン' は、内部コマンドまたは外部コマンド、
>ここで 一時ファイル C:\DOCUME~1\テン 1\... が
>'C:\DOCUME~1\テン' に変わっています
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
c:\windows\system32\cmd.exe の実行エラー
>ビルドのログ 終わり

'テン 1'と他のユーザーの違いは
① XPをセットアップして後、最初に作ったユーザー
② VCをセットアップしたユーザー
ぐらいです。
今はエラーの回避方法はわかったのですが、原因はわからないです。
なにかわかったときは報告したいとおもっています。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました