【開発】 TS関連ソフトウェア総合スレ Part9

このエントリーをはてなブックマークに追加
982名無しさん@編集中
>>981
ファイル名に「ソ」が含まれるファイルを開くと
閉じて次のファイルを開く時に前回開いたフォルダじゃなくなっちゃうのって改善できますか?
983名無しさん@編集中:2011/12/05(月) 15:48:23.17 ID:ouZxF+la
マルチバイト文字とかUnicode対応ってことかな
俺も出来れば対応して欲しいけど死ぬほど面倒臭いなら別にいいや
984名無しさん@編集中:2011/12/05(月) 17:02:49.05 ID:Y6RmdcSb
>>983
strrchrを_mbsrchrに置換するくらいの変更だ。
これくらいの修正大変なわけがない。
985名無しさん@編集中:2011/12/05(月) 17:58:22.55 ID:qtKm+byZ
>>977
ggってすぐ見つかる
Microsoft Visual C++ 2010 x** Redistributable Setup(10.0.30319.1)
入れてるけど↓になってまう@Win7x64

ハンドルされていない例外: System.BadImageFormatException: ファイルまたはアセンブ
リ 'Caption.dll'、またはその依存関係の 1 つが読み込めませんでした。このアセンブ
リは現在読み込まれているランタイムより新しいランタイムでビルドされているため、読
み込むことができません。
ファイル名 'Caption.dll' です。
986名無しさん@編集中:2011/12/05(月) 17:58:26.71 ID:MCmpbuGN
>>984
そう思うなら、自身がパッチ提供したら?
>while (*p != '\\' && p >= path) p--;
なんて記述もあるから、そう簡単では無いと思うがね
987名無しさん@編集中:2011/12/05(月) 18:02:53.71 ID:TbPXJQC3
>>981
早速の修正ありがとうございます
988名無しさん@編集中:2011/12/05(月) 18:13:45.45 ID:Y6RmdcSb
>>986
その一行をmbsrchrに置き換えたら済む話じゃんww
989名無しさん@編集中:2011/12/05(月) 18:23:40.68 ID:OHLvtatm
NGID:Y6RmdcSb
990名無しさん@編集中:2011/12/05(月) 18:29:06.12 ID:MCmpbuGN
>>988
なら、さっさとパッチ出せよ
次スレで待ってるぞ
991名無しさん@編集中:2011/12/05(月) 18:31:40.88 ID:Y6RmdcSb
>>990
俺はそのソフト使ってないからやりません。
992名無しさん@編集中:2011/12/05(月) 18:34:55.24 ID:MCmpbuGN
>>991
んじゃ、どうせ、ソースも見てないんだろ?
見てもいないものに判った口叩くんじゃーねよ
993名無しさん@編集中:2011/12/05(月) 18:37:38.30 ID:Y6RmdcSb
>>992
ソース見なくても現象聞いたら一発で原因分かるわ。
初心者がよく出すバグだね。
994名無しさん@編集中:2011/12/05(月) 18:46:36.14 ID:MCmpbuGN
>>993
Donald A. Graft氏が初心者って、ほんと無知は怖いな
大体、英語圏で作られたソフトがマルチバイトに対応していないって話なのに
初心者が良く出すバクとかって見当外れにも程があるぞw
995名無しさん@編集中:2011/12/05(月) 18:59:38.14 ID:E4aZSfMv
Y6RmdcSbって、もしかして伝説のスーパーバッカー?

996maki:2011/12/05(月) 19:00:03.70 ID:eg01Uc7/
>>982
根本の問題はDGIndexがマルチバイト文字対応として作られてない事。

現象のポイントは「ファイルを開く」ダイアログを呼び出す前に以前のファイルパスを無効化している点。
ダイアログが開いた時点で選択ファイル欄を無にする為なんだけど、コレが指定無だとファイル選択ダイアログ
(Win32api)内でアプリが持ってる以前開いたパス情報を持って開く様子。
その為、ソ=駄目文字で\マーク認識して存在しないフォルダで開こうとする。
で、存在しないからそれより前に開いた(駄目文字含まない)ファイルのパスになる。

暫定の対処としてはgui.cppのPopFileDlg()関数内の以下がある行を無効化する。
> *ofn.lpstrFile = 0;
ただし、「ファイルを開く」でTS等を開いた後に「プロジェクトを開く」等、
別形式のファイル選択ダイアログを開いた際にまで前ファイル名が表示される様に
なってしまうのでそこんとこは勘弁。

本修正手段としては、OPENFILENAME構造体のlpstrInitialDirに初期フォルダを設定
する事でいけそうなんだけど、確認しとかないといけない点がいろいろありそうなので
現在修正手段として問題ないか確認中。(確認中に気付いたけどウィンドウタイトルへの表示も"ソ"は駄目ね)

一番良いのはアプリケーション全体をマルチバイト文字対応として作り直す事。
だけど、そんな手間をかけるなら別ソフトを自前で作る方がよっぽど有意義だと思う。
997名無しさん@編集中:2011/12/05(月) 19:07:25.48 ID:TjKBolho
shift_jis環境で使うからダメなんじゃないの?
998mark10als:2011/12/05(月) 19:20:53.25 ID:TdbfnYme
>>985
DLLのドキュメントに記載し忘れていました
mod1さんの「Caption.dll 0111改造版」と同じで、
>>.NET Framework 2.0以上必須。
となります

NET Framework ランタイムを確認して下さい。
999maki:2011/12/05(月) 20:47:29.18 ID:eg01Uc7/
スミマセン、997の言うとおり「shift_jisの駄目文字でNG」ってだけですね。。
やり取り見ててソース上の問題点と修正手段だけ書こうかと思ってたんだけど、
なんかグデグデの文章を書いてました。上の私の書き込みは忘れて下さい。

とりあえず対応方法検討中って事で。