systemType

系统变量 SysVar.systemType 标识正在其中运行程序的目标系统。如果生成的输出是 Java™ 包装器,则 SysVar.systemType 不可用。否则,有效值如下所示:
aix
表示 AIX®
debug
表示 EGL 调试器
hp
表示 HP-UX
iseriesj
表示 iSeries™
linux
表示 Linux™(在基于 Intel 的硬件上)
solaris
表示 Solaris
win
表示 Windows® 2000/NT/XP

可以按照下列方式使用 SysVar.systemType

SysVar.systemType 的特征如下所示:
基本类型
CHAR
数据长度
8(用空格填充)
在转换之后是否始终将值恢复?

使用 SysVar.systemType 而不是 VGLib.getVAGSysType

定义注意事项

SysVar.systemType 的值不影响在生成时验证的代码。例如,即使正在为 Windows 进行生成,也验证以下 add 语句:
  if (sysVar.systemType IS AIX)
    add myRecord;
  end
为了避免验证完全不会在目标系统上运行的代码,请执行下列其中一项操作:
  • 将构建描述符选项 EliminateSystemDependentCode 设置为 YES。在当前示例中,如果将该构建描述符选项设置为 YES,则不验证 add 语句。但是,您应该了解,仅当逻辑表达式(在此例中,这是 SysVar.systemType IS AIX)足够简单从而能够在生成时被求值时,生成器才可以消除对应于系统的代码。
  • 另外,将不想验证的语句移至第二个程序;然后,让原始程序有条件地调用新程序:
      if (SysVar.systemType IS AIX)
        call myAddProgram myRecord;
      end

示例

  if (SysVar.systemType is WIN)
    call myAddProgram myRecord;
  end
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.