秀丸64bit のハングアップNo.33232
おすぎ さん 14/06/05 16:41
 
お世話になっております。

windows7 64bit上で、秀丸64 Float-Macro(統合 v8.35 を使っています。

一日に何度もハングアップします。

ファイルを2つ開いていますが、頻繁に作業しているファイルのみがハングアップし
ます。Xをクリックして閉じようとすると「64-32コネクションを中断しますか?」
と出て、「はい」をクリックしても何も変わりません。

ハングアップしていない方の秀丸上でマクロを動かそうとすると、「他の秀丸エディ
タがマクロ実行中です」というメッセージが出ます。


ハングアップを防ぐ方法はあるでしょうか?

よろしくお願いいたします。

[ ]
RE:33232 秀丸64bit のハングアップNo.33233
秀丸担当 さん 14/06/05 17:08
 

このメッセージは、64bit版の秀丸エディタから32bit版のマクロ用DLLまたは変
換モジュールを呼び出せる設定にしているとき、その橋渡しを中断しようとして
いるときのメッセージになります。

64bit版のEXEからは、通常は32bit版のDLLは呼び出せませんが、[その他]→[動
作環境]→[64bit版]の「32bit DLL をマクロのloaddllで動作可能にする」また
は「32bit 変換モジュール(*.hmf)を動作可能にする」をONにしていると、必要
時に32bitのEXEを作ってそこからDLLを呼び出して橋渡しをするという無理矢理
なことをしています。
その過程で何らかの問題があるか、遅いかのどちらかだと思います。

この方法は無理矢理で、すみませんがあまりお勧めはできないので、32bit版の
秀丸エディタを使うか、DLLまたは変換モジュールは64bitに対応したものがあれ
ば64bit対応のDLLを指定するといいと思います。

例えば先日公開された「変換リストによる置換」の変換モジュール
http://hide.maruo.co.jp/lib/hmconv/hmflistreplace110.html
では32bit版と64bit版の変換モジュールがあって、64bit秀丸エディタから32bit
変換モジュールを連続して呼ぶような使い方になると大変パフォーマンスが悪い
ので、変換モジュールも64bit版を使うといいです。

[ ]
RE:33233 秀丸64bit のハングアップNo.33234
おすぎ さん 14/06/05 17:42
 
ご対応ありがとうございます。

64bit対応の田楽DLLをダウンロードして使うようにしました。

一つ質問です。
「32bit版の秀丸エディタを使えば良い」というご提案ですが、
せっかく64bit対応のパソコンにしたのにもったいない、という気がしてなりません。

秀丸エディタは、32bit版と64bit版との間で、機能的に大きな違いはないのでしょう
か?

[ ]
RE:33234 秀丸64bit のハングアップNo.33235
おすぎ さん 14/06/05 18:02
 
64bit対応の田楽DLLをダウンロードしても、やはりハングアップしました。

仕方がないので、
32bit版の秀丸エディタと田楽DLLをダウンロードして使うことにしました。

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

[ ]
RE:33234 秀丸64bit のハングアップNo.33236
いいじま さん 14/06/05 19:05
 
秀丸ユーザのいいじまと申します。
僭越ながら私から回答します。

> 一つ質問です。
> 「32bit版の秀丸エディタを使えば良い」というご提案ですが、
> せっかく64bit対応のパソコンにしたのにもったいない、という気が
> してなりません。
>
> 秀丸エディタは、32bit版と64bit版との間で、機能的に大きな違いは
> ないのでしょうか?

違いは次の3点だけだと認識しています。

1.扱えるファイルサイズが大きくなる(1000万行→1億行)
2.マクロで一つの数値変数に入れられる値の範囲が広がる
 (±20億まで→±900京まで)
3.64bitのDLLを呼び出せるようになる

ですので、特に1.の問題がないのであれば、32bit版でも「もったいない」
ということはないと思います。
64bitのPCでも、現状は「巨大なデータを同時にメモリに置ける」以上の
技術革新はまだないと認識しています。

[ ]
RE:33236 秀丸64bit のハングアップNo.33238
秀丸担当 さん 14/06/06 09:18
 

64bit版の秀丸エディタと64bitのDLLを使っても問題があるとすれば、32bit版の
秀丸エディタ+32bit版のDLLの組み合わせでも同じ問題が起きる可能性があると
思いますが、秀丸エディタ自身かDLLの問題の可能性もあるので、なんともいえ
ないところです。

32bit版の秀丸エディタで大丈夫になって、64bit版の秀丸エディタでは症状が同
じ(「64-32コネクションを中断しますか?」のメッセージが出る)だったとし
たら、32bit DLLを呼ぶ処理が残っていたかもしれないので、「32bit DLL をマ
クロのloaddllで動作可能にする」のオプションをOFFにしておくとよかったと思
います。

64bit版の違いとしては、いいじまさんも言われている通りになります。
メリットとしては最大行数が多く設定できることがあります。
他には、64bit版はバーチャルストアを使わないのに対し、32bit版はデフォルト
でバーチャルストアを使うという違いがあります。
32bit版では[その他]→[動作環境]→[32bit版]の「VirtualStoreを無効にする」
をONにして、バーチャルストアを使わないようにすることもできます。

[ ]
RE:33238 秀丸64bit のハングアップNo.33239
おすぎ さん 14/06/06 09:50
 
いいじまさん、秀丸担当さん
ご回答ありがとうございました。

32bit版の秀丸+32bitのDLLで、
「64-32コネクションを中断しますか?」のハングアップはなくなりました。

ただし、普通の「応答なし」のハングアップが頻繁に起こります。
突然、マウスやキーボードが効かなくなって、画面に白いスクリーンがかかります。
タスクマネージャーから強制的に終了させています。
当然、未保存のデータはパーです。

何か対策があったら教えてください。

p.s.
64bit版の秀丸エディタと64bitのDLLでもハングアップしていたのは、
この普通の「応答なし」だったと思われます。

[ ]
RE:33239 秀丸64bit のハングアップNo.33240
秀丸担当 さん 14/06/06 11:57
 

そうだとすると、32bitや64bitといったことは関係なく、どちらでも起きるマク
ロとDLLに関する問題のようです。

具体的なマクロの内容や、再現するテキストや手順などがわかると、こちらで確
認することができれば調べることができると思います。

もし差支えなければマクロの内容や再現する条件に関するファイルなど送ってい
ただけると助かります。
設定も関係しているかもしれないので、[その他]→[設定内容の保存/復元]より
設定を保存したものもあるとより確実です。
送っていただける場合は"PEH00775@nifty.com"まで秀丸担当宛であることを書い
て送ってほしいです。

ただ64bit秀丸から32bit DLLを呼んでいたときに「64-32コネクションを中断し
ますか?」と出ていたということは、DLL内で無限ループしている可能性もあっ
て、そうだとしたらこちらで調べるのは難しいかもしれないです。

別の方法としては、ハングしているときにタスクバーの通知領域(いわゆるタス
クトレイ)にある常駐秀丸エディタを右クリックして「ハングアップチェッカー
を起動」より強制終了させる方法もあります。ただこれは必ずしもうまくいくと
は限らないです。
もしここでdumpの出力ができたらそれを送っていただけると原因を探ることがで
きます。

[ ]