·1  implementation
uses
  ComServ, Dialogs,dllform,unit2,MainTaskU,unit3,unit4,unit5,Addbasicunit,strushow
  {$IFDEF VER140}
 ,OleCtrls,  Variants
  {$ENDIF}
  ;
我的程序按一上代码编译后,exe文件为840KB,如果去掉
  {$IFDEF VER140}
 ,OleCtrls,  Variants
  {$ENDIF}我的程序码编译后,exe文件为250KB,两个程序都可以正常运行,
请问:
{$IFDEF VER140}
 ,OleCtrls,  Variants
  {$ENDIF}
是啥语法意思呀

解决方案 »

  1.   

    {$IFDEF VER140} 
    ShowMessage('Is Delphi 6!') 
    {$ENDIF} 
    {$IFDEF VER130} 
    ShowMessage('Is Delphi 5!') 
    {$ENDIF}
      

  2.   

    具体的也不是很明白
    搜索一下吧
    2.7.4 编译器指令(Compiler Directive) 2.7.4.1 编译平台预定义值 如果您希望您的代码仅在 Windows 平台下编译,你可以使用 MSWINDOWS 检测 Windows 平台。例如: 
    {$IFDEF MSWINDOWS} 
    // 编写面向 Windows 平台代码,在 Linux 平台下将不会被编译 
    {$ENDIF} 2.7.4.2 $IF 预编译指令 Delphi 6 的 $IF 预编译指令引进了条件的新特性,举一个例子: 
    {$DEFINE CLX} 
    const 
    LibVersion = 2.1; {$IF Defined(CLX) and (LibVersion > 2.0) } 
    // 这段代码被编译 
    {$ELSE} 
    // 这段代码不被编译 
    {$IFEND} {$IF Defined(WIN32) and (SomeConst > 12.0) } 
    //... 
    {$ENDIF} 
    在 Pascal 的 const 段中定义的常量标识符可以在 $IF 指令中进行条件判断,旧版本 Delphi 中的预编译分支指令 {$IFDEF},可以在 $IF 中使用 Define() 预编译函数代替,Pascal 常量标识符可以用 Declared 预编译函数判断是否已被定义。 
    例如: 
    {$IF Defined(WIN32) and Declared(MyConst)} 
    //... 
    {$ENDIF} 2.7.4.3 $ALIGN 预编译指令 Delphi 6 的 $ALIGN 有了新的选项:{$A1}、{$A2}、{$A4}、{$A8}。 
    用于设定编译器编译代码时的对齐字节数。 2.7.4.4 PE 标识 
    Microsoft 的每个 .exe 文件都有一个 PE (portable executable) 文件头,Microsoft 的操作系统通过 PE 文件头中的标志位来判断一个应用程序与系统的兼容性。的系统服务兼容性或请求一个高级系统服务。Delphi 6 编译器支持两个新的预编译指令可以自行设定 PE 文件头标志来协调最新的 NT 系统: 
    {$SetPEFlags <整型表达式>} 
    {$SetPEOptFlags <整型表达式>} 
    这些预编译符用于高级开发者,需要参考 PE(Portable Executable)文件头说明。 
    2.7.5 嵌入式汇编语言(built-in assembler) 
    Delphi 6 引入了一套全新的嵌入式汇编语言: 
    新的标识符 VMTOFFSET 和 DMTINDEX。 
    新的处理器特性支持:MMX;SIMD;Enhanced MM;Pentium Pro、Pentium III 及 Pentium 4 CPU 的Intel SSE;AMD K7 CPU 的 AMD Enhanced 3D。 
    支持 DQ(Define Quadword)伪操作符用于四字节字长定义(以往只有 DB 与 DW)。 
      

  3.   

    www.baidu.com 这些问题搜索一下很容易解决的。只有不会的就先用搜索引擎,然后在提问。