こんにちは、イマジオムの高木です。
kotto さん:
> 他にもUnicode化で注意しないといけない点がありましたら、
> 教えてくれるとうれしいです。
UNICODE 化は大きな話題になりましたので、このメーリング
リストにもたくさんの投稿がありますが、まずは私の取り組んだ
方法([delphi-users:2201] に記載)を紹介します。 ご参考に
なればいいのですが。
(以下、[delphi-users:2201] から引用)
――――――――――――――――――――――――――――――――――――
1.UNICODE 化
UNICODE 化により、Char と string の意味が変わったのはご存知の
とおりです。 ソースコードを書き直す必要があるとのことで、着手前は
戦々恐々でしたが、実際には意外と直さずにすみました。 だいたい
1,000行あたり1ヶ所くらいの修正ですんだと思います。 コツと
しては───
ア.なるべく低層のユニットから取り組んでいきます。 ユニット
ごとにテストプロジェクトを作るのがお勧めです。
イ.最初にユニットに含まれる Char・PChar・Length・SetLength・
FillChar・ByteType ……といったキーワードを、機械的に
' の付いた文字列に置き換えます(つまり Char' PChar' などに
します)。 これでコンパイルをかけると、その箇所でエラーが
出ますので、確実かつ網羅的に危険部位を見つけることが
できます。
ウ.イの部分では、ANSIChar または ANSIString 型が使われている
はずですので、その変数を見つけ、VCL標準でない手続き
または関数(たとえば独自DLLのインポート関数など)に
渡している部分を探します。 特にポインタを引数として渡す
部分、文字列の長さを扱っている部分が要注意です。
エ.どうしても必要な場合に限り、ANSIChar・ANSIString 型の変数を
宣言して使います。 宣言を明示的にすることで、後から問題が
起きた時に、疑う場所を絞り込むことができます。 つまり
「ANSI」で検索をかければいいのです。
意外と簡単ですので、ぜひチャレンジしてみてください。
――――――――――――――――――――――――――――――――――――
〒316-0024 茨城県 日立市 水木町 1-11-10 高木太郎
電話・ファクシミリ:0294-52-6787
電子メール:
aaa1...@pop06.odn.ne.jp
MLホームページ:
http://www.freeml.com/delphi-users
----------------------------------------------------------------------
かわいいベジモンがたくさん!自分だけの農場を作ろう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=iWL0F
------------------------------------------------------[freeml byGMO]--