2009/10/31 (土) 12:13:27 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 (.NET CLR 3.5.30729)
[1047] WSHプラグイン
WSHマクロでアウトライン解析を書けるようにするパッチを作りました。
と書きましたが、実際のところもっと汎用的なプラグイン機能の土台にしたくて作っています。
しばらくパッチのまま放置するので、アイディア・感想・要望などあればコメントください。
PatchUnicode:2889809

2010/1/9 (土) 22:04:11 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
[1097] Re:WSHプラグイン
テストバイナリをWikiに載せてみました。
http://sakura.qp.land.to/?Junk%2F48
当初やりたかったことはだいたい実装したので、大きな問題がなければこれでコミットしたいと思っています。

今後は、
・仕様のドキュメント整備
・汎用的に使えるアウトライン解析ビュー(RubyアウトラインはJavaのアウトライン解析を強引に流用してるので…)
・共通設定、タイプ別設定の取得/変更関数を実装
・プラグインによるジャック・IFオブジェクトの追加

なんかをやっていきたいです。

2010/2/14 (日) 17:04:01 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
[1109] Re2:WSHプラグイン
リビジョン1715でコミットしました。

2010/2/14 (日) 19:46:22 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6 (.NET CLR 3.5.30729)
[1110] Re3:WSHプラグイン
▼ syatさん
> リビジョン1715でコミットしました。

手元の環境ではビルドできませんでした。
ビルドエラーのログをwikiに置いておきます。
http://sakura.qp.land.to/?Develop%2F12

環境:
Windows 7
VS2005(SP1) Team Edition for Software Developers

2010/2/14 (日) 22:28:11 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
[1111] Re4:WSHプラグイン
▼ ryojiさん
ご報告ありがとうございます。
とり急ぎUnicodeビルドのエラーを見て、修正パッチを作ってみました。(wiki同ページのplugin_unicode_mod_1.patch)
私の環境(XP、VC2008 Express Edition)ではどちらのエラーも出ないので、これで直るか確かめられません。
8個出ている方はconst_castすれば良さそうですが、2個のほうは全くわかりません。が、ループ中にリスト要素を追加/削除するのは危なそうだったので直しました。
このパッチで改善するか確認してもらえますか?

2010/2/14 (日) 23:20:53 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
[1112] Re5:WSHプラグイン
ANSIビルドのエラーも修正しました。(plugin_unicode_mod_2.patch)
バグってますなぁw
wsprintf→swprintfとか

2010/2/17 (水) 23:41:19 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6 (.NET CLR 3.5.30729)
[1113] Re6:WSHプラグイン
▼ syatさん
> ANSIビルドのエラーも修正しました。(plugin_unicode_mod_2.patch)
ビルド確認してみました。
各構成とも、同一箇所でエラーが2個残ってます。
wikiにログを置いておきました。

2010/2/18 (木) 22:58:49 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
[1114] Re7:WSHプラグイン
▼ ryojiさん
ありがとうございます。前回の修正でよくわからなかった部分が残っていますね。
その後調べてやっとエラーの内容がわかりました。修正パッチを置きました plugin_unicode_mod_3.patch

解説すると、vectorは要素の追加・削除をするとメモリを確保しなおす場合がある。するとイテレータの指す所が無効になるため、ここで使うべきではない、とコンパイラが怒っている。
begin()、end()もイテレータだけど、これは毎回関数呼び出しするので、メモリ位置が変わっても問題ない。添え字アクセスでも可。
考えれば納得できますが、もう少しエラーがわかりやすくならないものでしょうか…。そしてVC2008では何故そのエラーが出ないのか??

CPlug::Listという名前なのに実体はvector、というのが誤解を招くといけないので、ついでにCPlug::Arrayに変えておきました。

2010/2/20 (土) 00:32:33 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6 (.NET CLR 3.5.30729)
[1115] Re8:WSHプラグイン
▼ syatさん
> plugin_unicode_mod_3.patch
↑これで全構成でコンパイル通りました。(^o^)v

2010/2/20 (土) 09:32:19 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
[1116] Re9:WSHプラグイン
どうもです。rev1716でコミットしておきました。

INCM/CMT
Cyclamen v3.81
[ut:0.020][st:0.000]