KOLEditのTextプロパティの取得について

解決


月夜見命  2009-11-19 10:06:43  No: 36205  IP: 192.*.*.*

OS:XP
Delphi:2009Pro

お世話になっております。

Delphi2009+KOL/MCK  で、KOLEditのTextプロパティを
レコード型のstringメンバに代入したところ、
空の状態になってしまいました。
(単なるstringの変数でもダメ)

リファレンス上はKOLEdit.TextはAnsiStringなので、
Del2009のUnicodeStringへ暗黙ではあるが
変換してくれると思っていましたがどうもよくわからない状態になっています。

結局 試行錯誤の末、KOLEdit.TextをPAnsiCharにいったんキャストしてから
UnicodeString型にキャストしたらうまく値が取れましたが、
果たしてこれで良いのだろうか…(どこかでメモリリーク警告出てるので良くないんでしょうけど)
そしてなぜこんなことになっているのか…

ご教示いただけたらと思います

以上よろしくお願いします

編集 削除
月夜見命  2009-11-19 21:49:36  No: 36206  IP: 192.*.*.*

またも自己解決です

UNICODE_CTRLSがDEFINEされていないのでAnsiStringになっていて
しかもEXEサイズ小さくするためかアセンブラ書きまくりだったので
よくわからない状態になっていたようです。

KOLDEF.inc内のDelphi2009定義内に{$DEFINE UNICODE_CTRLS}を追加したら
変なキャスト無しで行けました
(Del2009はUnicodeなんだから本来定義しておくべきなのにね...)

しかし逆にKOL.pas内でAnsiStringで宣言してる部分で暗黙型変換の
警告が大量に…まだまだ作りが甘いようですKOL

※メモリリークはまた別問題でした

編集 削除