编译指令 这个{$DEFINE}{$ENDIF}怎么用啊,不知道前辈可否详细介绍一下?

解决方案 »

  1.   

    举个例子吧
    {$IFDEF MSWINDOWS}
     ..
    {$ENDIF}
    {$IFDEF LINUIX}
     ..
    {$ENDIF}
    这样呢,如果在WINDOWS 中编译,就用上用的!
      

  2.   

    {$DEFINE YEAH}
    ...
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      {$IFDEF YEAH}
        ShowMessage('yeah');
      {$ELSE}
        ...
      {$ENDIF}
      ...
    end;
    若如此用,似乎多是不实用;其实如{$DEFINE YEAH}更多YEAH写在project->option->directories/conditionals中的conditional define中做为预编译常量,如版本控制等
      

  3.   

    http://borland.mblogger.cn/aiirii/posts/4092.aspx
      

  4.   

    {$define ABC}{$ifdef ABC}
      //do 1st thing
    {endif}{$ifndef ABC}
      //do 2nd thing
    {$endif}
    现在只执行//do 1st thing的block,//do 2nd thing的block被忽略掉,当它不存在。
    如果注释掉第一行,就执行//do 2nd thing的语句了,
      

  5.   

    呵呵,我表达无条理;除去如一楼系统等用做外,更多在projects...定义以给程序判断所用
      

  6.   

    编译开关,c/c++都有的
    编译开关一般在options->directories/conditionals->conditions定义
    如楼上的
    {$IFDEF MSWINDOWS}
     codeA
    {$ENDIF}
    {$IFDEF LINUIX}
     codeB
    {$ENDIF}
    如果在 conditions 定义了 MSWINDOWS 收BULID时,codeA将被编译,而codeB不被编译,
    不过一般都在程序里定义编译开关,如{$DEFINE MSWINDOWS}
    暂切把它想成IF ELSEIF 吧