2005/11/20 (日) 20:07:15 FILE  
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; T312461)
[4155] VariantChangeType対応
 (>>dev:3926)で紹介させていただきました、VariantChangeType()を
使用してみました。

 更新履歴(http://members.at.infoseek.co.jp/sakura_editor/bin_changelog.html)
「Win95系OSでWSHが一応うごくように.」から、「一応」を取り除く事が目標です。

 (>>macro:110)のようなキャスト(?)を行う必要が無くなり、VBScriptで書かれた
マクロが増えると嬉しいです。

 差分ファイルは、以下のアドレスに(最低1ヶ月ぐらい)置いておきます。

www001.upp.so-net.ne.jp/folder/Z6LQNzJu/051120-Sakura_Diff/ssrc_2005-11-06_VariantChangeType.diff

 この対応により、CMacro::HandleFunction()を大幅に変更してしまいました。
 処理内容はそのままに、慎重に書き換えましたので大丈夫かとは思いますが、
ご確認いただけますでしょうか。

 Ver. 1.5.8.0(2005-11-06)をベースに変更し、
Win95(+IE5.5), WinMe(+IE5.5), WinXP(+IE6)
の環境で動作確認いたしました。

2005/11/27 (日) 11:54:17 げんた  
INCM1.23c
[4172] RE: VariantChangeType対応
[CMacro::HandleFunction()について]

case F_GETSELECTED: で判定の!が消えているようです.
---
VariantClearを行うためにreturnを最後に持ってきていますが,
VariantInitとVariantClearを行うクラスを設けた方が,途中でreturnしてしまうミスを防げると思います.

class Varantなんとか {
VARIANT varCopy
public:
VARINT& get() { return varCopy; }
Variantなんとか() { VariantInit(&varCopy); }
~Variantなんとか() { VariantClear(&varCopy); }
}

2005/12/1 (木) 00:17:24 FILE  
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; T312461)
[4187] Re2: CMacro::HandleFunction()について
ご確認ありがとうございます。

> case F_GETSELECTED: で判定の!が消えているようです.

これは意図的な変更で、こちらの環境では正常に動作していました。

> VariantClearを行うためにreturnを最後に持ってきていますが,
> VariantInitとVariantClearを行うクラスを設けた方が,途中でreturnしてしまうミスを防げると思います.


一瞬頭をよぎりましたが、この関数内だけの変更にしたかったのと、
(C++の認識不足による)メモリリーク等が怖かったので、上記の仕様
にしていました。

> class Variantなんとか {
>   (中略)
> }


既にOleTypes.hにstruct Variantがありましたので、勉強のためにも
これを使用して、修正してみました。(差分がかなり減りました)

Ver.1.5.8.1(2005-11-27)をベースにした差分ファイルを、
以下のアドレスに(最低1ヶ月ぐらい)置いておきます。

www001.upp.so-net.ne.jp/folder/YMr2vU63/051130-Sakura_Diff/ssrc_2005-11-27_VariantChangeType.diff


・差分ファイルについてメモ

差分ファイルをsakura_coreの一つ上のフォルダで作成する場合
diff -ur --dos -u1 sakura_core_Org sakura_core > 差分ファイル.diff
  (-u1:差分少な目 / sakura_core_Org:変更前のフォルダのコピー)

差分ファイルを作成したフォルダ(sakura_coreの一つ上)で実行する場合
patch -p0 --dos < 差分ファイル.diff

適用対象ファイルと同じフォルダ(sakura_core内)で実行する場合
patch -p1 --dos < 差分ファイル.diff

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