しばらく前にDelphi7で書いたユニットがあり、Delphi XE(Unicode)に変換するのが楽しく(苦痛)なりました。
ユニットは問題が発生した後も正常に動作します。他のコードを更新しているときにIDEをDelphi7に戻す必要が生じた場合に備えて、このユニットをさまざまなDelphiバージョンと互換性を持たせようとしています。
私はDelphi7とDelphiXEしか持っていませんが、Delphi1で記述されたコードを収集したものからDelphi2007まではコンパイルされますが、Delphi2009以降のコードはUnicodeになります。
...とにかく、ユニットでは、非ユニコードとユニコードを次のように分離しています:
{$IFDEF VER150} //Delphi 7
// code
{$ELSE IFDEF VER220} //Delphi XE
// code
{$ENDIF}
ルールがマルチバージョンに適用されるようにコンパイラ指令を変更するにはどうすればよいですか?たとえば、次のようなものです。
{$IFDEF VER80, //D1
VER90, //D2
VER100, //D3
VER120, //D4
VER130, //D5
VER140, //D6
VER150, //D7}
ソースまたは.dcuユニットを配布する場合、これはすべてのDelphiバージョンをカバーします。
ありがとう。