16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"Pascalコンパイラバージョン判断"
この発言は #00664 佐藤 充男 さんのバージョン判断コンパイル に対するコメントです
この発言に対し以下のコメントが寄せられています
#00843 佐藤 充男 さん RE:Pascalコンパイラバージョン判断
#00992 かとちん さん RE:Pascalコンパイラバージョン判断
こんにちは、佐藤 充男です。
☆説明
コンポーネント作成時に複数のバージョンをサポートする場合のコード記述
例です。
☆補足
Delphi 1 / 2 / 3.1 / 4、C++Builder 1 / 3 でテスト。
[サンプルソース]
----------------------------------------------------------------------
{$IFDEF VER80} // Delphi 1
ShowMessage('Delphi 1');
{$ENDIF}
{$IFDEF VER90} // Delphi 2
ShowMessage('Delphi 2');
{$ENDIF}
{$IFDEF VER93} // C++Builder 1
ShowMessage('C++Builder 1');
{$ENDIF}
{$IFDEF VER100} // Delphi 3
ShowMessage('Delphi 3.x');
{$ENDIF}
{$IFDEF VER110} // C++Builder3
ShowMessage('C++Builder 3');
{$ENDIF}
{$IFDEF VER120} // Delphi 4
ShowMessage('Delphi 4');
{$ENDIF}
----------------------------------------------------------------------
[実際の使用例]
Delphi 3 / 4 とC++Builder 3対応コンポーネントの場合
----------------------------------------------------------------------
procedure TSaEdit.CreateParams( var Params: TCreateParams );
const
{$IFDEF VER100} // Delphi 3
Alignments: array[TAlignment] of Longint = (ES_LEFT, ES_RIGHT, ES_CENTER);
{$ENDIF}
{$IFDEF VER110} // C++Builder 3
Alignments: array[TAlignment] of Longint = (ES_LEFT, ES_RIGHT, ES_CENTER);
{$ENDIF}
{$IFDEF VER120} // Delphi 4
Alignments: array[TAlignment] of Longword = (ES_LEFT, ES_RIGHT, ES_CENTER);
{$ENDIF}
begin
inherited CreateParams(Params);
Params.Style := (Params.Style or ES_MULTILINE or Alignments[FAlignment]) and
(not ( ES_AUTOVSCROLL or ES_AUTOHSCROLL ) );
end;
----------------------------------------------------------------------
1つのソースで全バージョンをカバーするコンポーネントはないと思いますが、
一応調べてみました(^^;
#Delphi1 はDelphi2 Developer に付属のものでテストしています。
98/9/28(月) 05:44pm LDM03756 佐藤 充男
Original document by 佐藤 充男 氏 ID:(LDM03756)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|