バグ報告:コマンドライン起動すると、強No.21667
みゅーん さん 06/08/10 11:48
 
Version5.18を使用しております。

C:\Program Files\Hidemaru\Hidemaru.exe %file
というコマンドラインで、C言語(拡張子は.c)のファイルを開いているのですが、
その場合、C言語ソースファイルの強調表示が行われません。

「ファイルタイプ別の設定」を確認すると、確かに、「.Cの設定(S) C言語ソースフ
ァイル」と表示されているのですが、強調表示一覧は空になっている状態です。

コマンドラインを使わず、普通にファイルをダブルクリックで開いた場合は正常に強
調表示されています。

ご対応、よろしくお願いいたします。

[ ]
RE:21667 バグ報告:コマンドライン起動すNo.21668
秀丸担当 さん 06/08/10 13:01
 

>C:\Program Files\Hidemaru\Hidemaru.exe %file
>というコマンドラインで、C言語(拡張子は.c)のファイルを開いているのですが、
>その場合、C言語ソースファイルの強調表示が行われません。
>
>「ファイルタイプ別の設定」を確認すると、確かに、「.Cの設定(S) C言語ソースフ
>ァイル」と表示されているのですが、強調表示一覧は空になっている状態です。
>
>コマンドラインを使わず、普通にファイルをダブルクリックで開いた場合は正常に強
>調表示されています。

試しにコマンドプロンプトから入力したりしてみましたが、状況を確認すること
はできませんでした。
コマンドラインとは、何かのソフトから起動するということでしょうか。%file
は何かに展開されるのだと思いますが、展開された具体的なファイル名を教えて
いただくと何かわかるかもしれません。
実際の操作手順を詳しく書いていただけると助かります。

普通にファイルをダブルクリックしたときもコマンドラインによる起動と同じで
す。.cppと.cで違う設定になっているとか、そういうことはないでしょうか。

[ ]
RE:21668 バグ報告:コマンドライン起動すNo.21669
みゅーん さん 06/08/11 07:45
 
>試しにコマンドプロンプトから入力したりしてみましたが、状況を確認すること
>はできませんでした。

コマンドプロンプトから起動した場合は正常に動作しました。



>コマンドラインとは、何かのソフトから起動するということでしょうか。%file
>は何かに展開されるのだと思いますが、展開された具体的なファイル名を教えて
>いただくと何かわかるかもしれません。

はい。Metrowerksのコードウォーリアに「外部エディタ」から起動するコマンドがあ
り、そこでコマンド入力しています。具体的なファイル名は、
action.c
ですが、他のソースファイルでもうまくいきません。ただ、以前も同じことをしてい
た記憶があるので、以前はうまくいっていたと思われます。以前と大きく違う点は、
Windows2000からWindowsXPへ移行したことぐらいです。

ちなみに、Visual Studioでも、同様に外部エディタ起動をしていますが、こちらは
正常に動作します。



> .cppと.cで違う設定になっているとか、そういうことはないでしょうか。

.cppは普段使っておりません。また、ファイルタイプ別の設定をそもそも変更してお
りません。


こう見ると、一見コードウォーリアのせいな気もしますが、
・ファイル自体は正常に開けていること
・しかし、C言語の強調表示一覧が、外部エディタ起動時のみ、空になること。

という動作はバグのような気もします。

ご対応よろしくお願いいたします。

[ ]
RE:21669 バグ報告:コマンドライン起動すNo.21670
秀丸担当 さん 06/08/11 09:35
 


>こう見ると、一見コードウォーリアのせいな気もしますが、
>・ファイル自体は正常に開けていること
>・しかし、C言語の強調表示一覧が、外部エディタ起動時のみ、空になること。
>
>という動作はバグのような気もします。

そうですか。
とはいえ、もしコマンドラインから起動することに違いが無いのであれば、何も
結果に違いが出るはずもありません。

何か違いがあるはずなので、どこかに違いがないか改めて確認していただけない
でしょうか。
たとえば /x オプションも同時に指定していて、強調表示を変更するようなマク
ロを実行しているとか。
秀丸エディタの異なるバージョンが別の場所にインストールされていて、コード
ウォーリアから起動する場合と Visual Studio から起動する場合で別の
hidemaru.exeを指定してしまっているとか。

試しにコードウォーリアのHC(S)08版無料ダウンロードみたいのをダウロードし
てみようとしましたが、最後にコンタクトを取る(?)みたいに出てきてまだでき
てません。

Visual Studio もお持ちとのことですので、大変お手数なことになってしましま
すが、試しに以下のようなプログラムを作ってみて、hidemaru.exeの代わりにこ
れを呼び出してみてコードウォーリアがどのようなコマンドラインとして起動し
ているのか調べてもらえたりすると非常に参考になります。
#include <windows.h>
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE, LPSTR lpCmdLine, int
nCmdShow ) {
  MessageBox( NULL, lpCmdLine, NULL, MB_OK );
  return 0;
}


もし差支えなければ、[その他]→[設定内容の保存/復元]より設定内容を保存し
たものを送っていただけると何かわかるかもしれません。
もし送っていただける場合、xxxxxxxx@nifty.ne.jp まで秀丸担当宛であること
を書いて送ってください。
コマンドラインを調べるEXEファイルが必要であればおっしゃっていただければ
送らせていただきます。

[ ]
RE:21669 バグ報告:コマンドライン起動すNo.21674
秀丸担当 さん 06/08/11 17:19
 

連休になるため思いつくことを書いておきます。

コードウォーリアが、別のユーザーとして実行されている場合、そこから起動す
るプログラムも別のユーザーになると思います。
もしコマンドラインもEXEのパスも全く同じなのに設定が違うとしたら、別の
ユーザーである可能性が高いと思います。
別のユーザーは、ショートカットを右クリックして「別のユーザーとして実行」
を選んだりすると実行できます。他にも起動方法によって別のユーザーになって
いるのかもしれません。
Ctrl+Alt+Delでタスクマネージャを開いてプロセスの一覧を見ると起動されてい
るhidemaru.exeのユーザーがわかります。


他には、V6.00βを別のフォルダ(例えばD:\Program Files\Hidemaru)にインス
トールしていて、さらに秀丸メール持ち出しキットのhmregini.dllを入れている
場合、持ち出しキットとして動作します。
この場合、同じユーザーであっても、持ち出しキットで動作している秀丸エディ
タは、別の設定になります。
普段は C:\Program Files\Hidemaru で起動、
コードウォーリアでは D:\Program Files\Hidemaru で起動ということになって
いると、問題は起こりうると思います。
[その他]→[秀丸エディタについて]でバージョンと持ち出しキットで動作中であ
るかどうかが確認できます。

[ ]
RE:21670 バグ報告:コマンドライン起動すNo.21675
みゅーん さん 06/08/11 23:07
 
>何か違いがあるはずなので、どこかに違いがないか改めて確認していただけない
>でしょうか。
>たとえば /x オプションも同時に指定していて、強調表示を変更するようなマク
>ロを実行しているとか。
>秀丸エディタの異なるバージョンが別の場所にインストールされていて、コード
>ウォーリアから起動する場合と Visual Studio から起動する場合で別の
>hidemaru.exeを指定してしまっているとか。

特にオプションは指定しておらず、秀丸エディタも1つしかインストールしておりま
せん。


>
>Visual Studio もお持ちとのことですので、大変お手数なことになってしましま
>すが、試しに以下のようなプログラムを作ってみて、hidemaru.exeの代わりにこ
>れを呼び出してみてコードウォーリアがどのようなコマンドラインとして起動し
>ているのか調べてもらえたりすると非常に参考になります。
>#include <windows.h>
>int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE, LPSTR lpCmdLine, int
>nCmdShow ) {
>  MessageBox( NULL, lpCmdLine, NULL, MB_OK );
>  return 0;
>}

実際、試したところ
・Visual Studio   →   "(フルパス名)
・コードウォーリア→   "(フルパス名)"
となりました。Visual Studioのほうは、なぜか最後のダブルコーテーションがなか
ったのですが、正しく表示されたのはVisual Studioのほうです。


>
>もし差支えなければ、[その他]→[設定内容の保存/復元]より設定内容を保存し
>たものを送っていただけると何かわかるかもしれません。
>もし送っていただける場合、xxxxxxxx@nifty.ne.jp まで秀丸担当宛であること
>を書いて送ってください。

了解いたしました。

[ ]
RE:21675 バグ報告:コマンドライン起動すNo.21680
秀丸担当 さん 06/08/17 10:22
 

ファイルを受け取りました。ありがとうございます。
設定を反映させて確認してみましたが、特に問題は見られませんでした。

>実際、試したところ
>・Visual Studio   →   "(フルパス名)
>・コードウォーリア→   "(フルパス名)"
>となりました。Visual Studioのほうは、なぜか最後のダブルコーテーションがなか
>ったのですが、正しく表示されたのはVisual Studioのほうです。

確認ありがとうございます。
最後にダブルクォーテーションがあるかどうかで確認してみましたが、動作に違
いは見られませんでした。

別のコメントにも書きましたが、ユーザーが違うということはないでしょうか。
http://www.maruo.co.jp/hidesoft/2/x21667_.html#21674
ユーザーが違うという可能性が、いまのことろ考えられる原因としては一番大き
いのではないかと思います。

[ ]
RE:21680 バグ報告:コマンドライン起動すNo.21931
jyukucho さん 06/10/09 20:41
 
私も同じ現象が出ましたので、質問させてください。

私の場合は、今までは大丈夫だったのですが、本日、強調表示を更新したところ
同じ現象が出るようになりました。

経過は以下の通り。

ver.5.18使用時、CodeWarriorからの外部エディタ起動で、強調表示が問題なく
表示されていた。

ver.6.02にアップデート。アップデート後も、問題なく強調表示は、表示されていた。

本日、強調表示に新たなルールを追加。「OK」ボタンを押す。強調表示は、
更新されて表示されていた。

CodeWarriorから、外部エディタ起動。強調表示一覧がクリアされていて、強調
表示が全くされなくなった。ただし、カラーは、元のまま。

以上が、経過です。

いろいろ調べてみたところ、以下のようなことが分かりました。

1.CodeWarrior以外からの起動では、強調表示が無くなることはほとんど無い(例外あり)

2.システム内(HDD内)に、Hidemaruは一つしか無く、CodeWarriorから起動されている
Hidemaruとその他起動のHidemaruは同じHidemaruと思われる。

3.CodeWarriorのユーザー、通常起動のHidemaru、CodeWarriorから起動したHidemar
uとも同じユーザーである。

4.一度、強調表示が無くなると、強調表示がされているHidemaruから開いたファイル
も強調表示が無くなってしまう。

5.強調表示が無くなったHidemaruをすべて閉じ、強調表示がされているHidemaruから
ファイルを開くと強調表示が無くなる。

6. 5.の強調表示が無くなったHidemaruを閉じ、同じファイルを強調表示がされてい
るHidemaruから開き直すと強調表示が復活する場合がある。

7. 5.6.の後、常駐Hidemaruからファイルを開いた場合、強調表示が無くなる場合が
ある。

8. 5.6.7.の現象が出ている最中でも、Explorerから開く場合は、常に強調表示が表
示される。

9.Hidemaruを一度アンインストールし、再インストール後も、同じ現象が出る。

10.CodeWarriorからバッチ経由でHidemaruを起動しても、症状は変わらない。

以上が分かったことです。

本日強調表示を更新するまでは、どこから起動した強調表示でもきちんと強調表示が
されていたので、何とか元に戻したいので、よろしくお願いいたします。

[ ]
RE:21931 バグ報告:コマンドライン起動すNo.21935
秀丸担当 さん 06/10/10 12:30
 

報告ありがとうございます。
CodeWarriorでの問題が起きましたか。

まず、みゅーんさんはV5.18で起きていたということと、jyukucho さんはアンイ
ンストールしてからインストールしても起きたということからすると、「強調表
示の更新」をしたことは原因では無いと思います。

「6.」「7.」の現象の、不安定な挙動は、[その他]→[動作環境]→[パフォーマ
ンス]→[詳細]→[秀丸エディタの瞬間起動]が影響している可能性があると思い
ます。
これが有効になっていると、秀丸エディタが裏で待機して再利用されるので、待
機中の秀丸エディタの状態によって挙動が変わっているのではないでしょうか。
もしこのオプションが有効であれば無効にしておくと、一定の再現手順が得られ
ると思います。


「3.」の同じユーザーであるということですが、起動方法によっては同じユー
ザーでも権限が違うことがあるようです。
以下の手順で確認できます。(xpの場合)

1.全ての秀丸エディタを終了。(常駐秀丸エディタも終了)
2.デスクトップ等にある秀丸エディタのショートカットを右クリック。
3.「別のユーザーとして実行」を選択。
4.「現在のユーザー」を選択。
5.「許可されていないプログラムの動作からコンピュータとデータを保護す
る」をチェック。
6.OKで起動。
7.起動した秀丸エディタは、強調表示等、標準の状態に戻ってしまう。
8.デスクトップ等にある秀丸エディタのショートカットをダブルクリック。
9.2番目に起動した秀丸エディタは、強調表示等は設定通り。

この手順で、同じユーザーであっても、「別のユーザーとして実行」で実行され
た秀丸エディタは、強調表示等がリセットされた状態で、挙動も報告されている
挙動とほぼ(?)同じです。


おそらく、CodeWarriorも、これと類似した方法で起動が行なわれている可能性
が高いように思います。

秀丸エディタに限らず、他のアプリケーションでも同様の問題が起きるのではな
いでしょうか。
ただ、秀丸エディタでも起きる場合と起きない場合があるというのは不思議です。


もしCodeWarriorをアップデートなどをされたのであれば、そのタイミング以降
に起きているというのであれば納得がいきますが。

[ ]
RE:21935 バグ報告:コマンドライン起動すNo.21936
jyukucho さん 06/10/10 19:05
 
ご返答ありがとうございます。

いろいろ試してみました。

●[秀丸エディタの瞬間起動]をOFFにしてみましたが、現象は変わりません。

●ご指摘の右クリックメニューによる別ユーザー起動では、立ち上がった
Hidemaruがハングアップしてしまうようです。(起動後、ファイルオープンで
ダイアログが一瞬表示されたあとハングアップ)

.....などと、いろいろやっているうちに、回避方法を見つけたので、ご報告します。

通常起動のHidemaruで、強調表示一覧を一度、全削除し、新しく手で一つ一つ
定義していくと、CodeWarriorからの起動でも一覧表示が削除されずに、
残るようになりました。これから、一つずつ手で設定し直すことにします。

ありがとうございました。

[ ]
RE:21936 バグ報告:コマンドライン起動すNo.21937
秀丸担当 さん 06/10/10 19:32
 

>●[秀丸エディタの瞬間起動]をOFFにしてみましたが、現象は変わりません。

そうですか。
現象が無くなるという意味ではなく、6.7.の不安定な結果では無く、
常に問題は起きるのなら起き、起きないのなら起きないという意味
だったのですが、どういう結果になるかわからないという状態は
変わらないのでしょうか。

>●ご指摘の右クリックメニューによる別ユーザー起動では、立ち上がった
>Hidemaruがハングアップしてしまうようです。(起動後、ファイルオープンで
>ダイアログが一瞬表示されたあとハングアップ)

操作によってハングアップする場合があることは確認しています。
これはこれで問題ですが、今回指摘したかったのは、同じユーザーでも
権限によって設定が異なることがあるということの指摘でした。

>.....などと、いろいろやっているうちに、回避方法を見つけたので、ご報告します。
>
>通常起動のHidemaruで、強調表示一覧を一度、全削除し、新しく手で一つ一つ
>定義していくと、CodeWarriorからの起動でも一覧表示が削除されずに、
>残るようになりました。これから、一つずつ手で設定し直すことにします。

てっきり強調表示だけでなく、すべての設定がリセットされているの
かと思っていたのですが、無くなるのは強調表示だけで、そのほかの
設定は維持されていたのでしょうか。
そうだとすると、この挙動は全く予想のつかない挙動です。


[ ]
RE:21937 バグ報告:コマンドライン起動すNo.21945
jyukucho さん 06/10/11 10:29
 
お忙しい中、ご返答ありがとうございます。

>てっきり強調表示だけでなく、すべての設定がリセットされているの
>かと思っていたのですが、無くなるのは強調表示だけで、そのほかの
>設定は維持されていたのでしょうか。
★強調表示の一覧だけがクリアされていて、その他の設定は
全く問題ないようです。「強調表示」のチェックボックスもチェックが
ついたままです。

動作状況から判断すると、強調表示の設定のみ、何らかの原因で読み込みに
失敗してしまっているように思われます。強調表示がクリアされている状態で、
強調表示の読み込み/保存は問題なく行えます。

とりあえず、強調表示を設定し直して、以前の状態に戻すことはできました。

ありがとうございました。

[ ]
RE:21945 バグ報告:コマンドライン起動すNo.21948
秀丸担当 さん 06/10/11 17:06
 

>★強調表示の一覧だけがクリアされていて、その他の設定は
>全く問題ないようです。「強調表示」のチェックボックスもチェックが
>ついたままです。
>
>動作状況から判断すると、強調表示の設定のみ、何らかの原因で読み込みに
>失敗してしまっているように思われます。強調表示がクリアされている状態で、
>強調表示の読み込み/保存は問題なく行えます。
>
>とりあえず、強調表示を設定し直して、以前の状態に戻すことはできました。

CodeWarrior開発元に連絡し、やっと動作確認をすることができました。
全く言われている通りの状況を再現させることができました。

原因を調べたところ、レジストリのバイナリ値のサイズを調べるときに、260バ
イトを超えているとサイズの取得に失敗していました。
この問題は、なぜかCodeWarriorからEXEファイルを起動したときにのみ発生しま
した。

レジストリのサイズを調べるだけの簡単なEXEファイルを作成しても、なぜか
CodeWarriorを経由するとサイズ取得に失敗します。

強調表示を全削除して、一個ずつ追加していくと、最初のうちはうまくいきます
が、合計サイズが260バイトを超えると失敗となります。

そういう状況を意図的に作ろうと思っても作れるものではないと思うので、なぜ
このようなことになるのか見当もつきませんが、とにかくエラーが出ても無視し
て回避するように修正しようと思います。

[ ]
RE:21948 バグ報告:コマンドライン起動すNo.21949
秀丸担当 さん 06/10/11 18:12
 

調べていくうちに確実な原因がわかりました。

秀丸エディタのショートカットを右クリックし、プロパティを開いて、「互換
性」タブの「互換モードでこのプログラムを実行する」をチェックして秀丸エデ
ィタを起動すると、CodeWarriorを経由しないで同様の問題を再現させることが
できました。
互換の種類はWindows95〜Widows2000のいずれでも発生します。

レジストリのサイズを調べるだけの簡単のなサンプルプログラムでも発生しまし
た。

つまり、根本的な原因は、WindowsXPにおける互換モードの不具合ということに
なると思います。
Windows95〜Windows2000において秀丸エディタは正常に動作しているので、この
互換モードは互換として働いておらず、xpの不具合といえます。

CodeWarriorは、互換モードで起動しているようです。
C:\Program Files\Freescale\CodeWarrior for XXXXXXX\bin
の下あたりの、IDE.exeを右クリックしてプロパティを開くと、「互換モードで
このプログラムを実行する」が最初からチェックされていて、「Windows2000」
になっていました。
このチェックを外すと、問題を完全に解決することができました。

ただし、CodeWarriorが互換モードで動くことを前提としているかもしれないの
でCodeWarriorそのものの動作が怪しくなる可能性もあります。

[ ]
RE:21949 バグ報告:コマンドライン起動すNo.21950
jyukucho さん 06/10/11 21:42
 
素早い対応ありがとうございます。

確認したところ、確かに互換モードのチェックボックスにチェックが
なされていました。
私のところのCodeWarriorは、あるハードウェアのSDKの一部として
供与されているもので、そのSDKにはXPでの動作のみ保証と
なっているんですけどね。Win2000の互換モードで動いているとは
気づきませんでした。

とりあえず、開発に影響が出ないように、チェックボックスを
外して試してみたいと思います。

いろいろとお調べいただきありがとうございました。


[ ]
RE:21949 バグ報告:コマンドライン起動すNo.21952
jyukucho さん 06/10/12 20:06
 
素早いご対応ありがとうございます。
ver.6.04にて、問題が解決されたことを確認いたしました。
ありがとうございました。

[ ]