Delphi例程-应用程序级信息
【打印文章】
1.Application 变量(标准应用程序)
描绘应用程序级的信息
单元
Forms
var Application: TApplication;
描述
默认地,当创建一个新的项目,Delphi会构造一个应用程序对象并将其赋给位于Forms单元中的Application变量。Application拥有数个属性,在应用程序运行时可心用于得到关于应用程序的信息。
示例
这段代码将在编辑框中显示你的项目的名称:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := Application.Title;
end;
2.CmdShow 变量
CmdShow被传递给Windows API 函数 ShowWindow。
单元
System
var CmdShow: Integer;
描述
在程序中,当应用程序创建主窗口时,CmdShow变量包含了 Windows 希望传递给 ShowWindow 的参数值。
在库(DLL)中,CmdShow总是为0。
3.CompilerVersion 常量
指明了Delphi编译器的版本编号
单元
System
const CompilerVersion = 15.0;
描述
使用CompilerVersion可以测试Delphi编译器的统配级别。如果你想条件化利用了Delphi语言更新特色的代码,这会很有用(This is useful if you want to conditionalize code that takes advantage of newer features in the Delphi language)。
4.ExitProcessProc 变量
ExitProcessProc 指定在应用程序关闭(shut down)前最后执行的过程(procedure)。
单元
System
var ExitProcessProc: procedure;
描述
赋值给 ExitProcessProc 来指定你想在应用程序关闭前执行的过程。ExitProcessProc 的值是一个没有参数的过程。
5.GetFileVersion 函数
返回文件版本
单元
SysUtils
function GetFileVersion(const AFileName: string): Cardinal;
描述
GetFileVersion返回一个文件二进制版本号中最有意义的32位。AFileName指定文件名,可以使用和LoadLibrary函数相同的路径搜索到。
6.GetModuleName 函数
返回给定句柄的模块的完全限定名称(fully qualified name)。
单元
SysUtils
function GetModuleName(Module: HMODULE): string;
描述
调用GetModuleFileName来获得给定句柄的模块的完全限定名称。
Module是模块的句柄。
7.HInstance 变量
句柄,由Windows提供给模块(module)。
单元
SysInit
var HInstance: LongWord;
描述
HInstance 容纳了由Windows提供的应用程序或库的实例句柄
8.HintWindowClass 变量
指定用于显示帮助提示(help hint)的窗口的类。
单元
Forms
var HintWindowClass: THintWindowClass = THintWindow;
描述
当应用程序显示帮助提示(Help Hint)时,它会创建一个HintWindowClass的实例来描绘用来显示提示的窗口。应用程序通过创建THintWindow的派生类,然后在应用程序启动时将派生类赋予HintWindowClass变量,能够定制这个窗口。
9.InitProc 变量
InitProc 是最后一个安装的初始化过程。
单元
System
var InitProc: Pointer;
描述
赋值给InitProc来指定一个你想在应用程序启动时执行的过程。InitProc是一个无参数过程。例如:
procedure MyInitProcedure;
...
initialization
InitProc := @MyInitProcedure;
begin
end;
只有一个初始化过程能够被赋予InitProc变量。如果你的应用程序定义了多个初始化过程,仅最后一个赋予InitProc的会执行。要允许其他初始化过程执行,你必须将过程“链接”到一起,从InitProc的新值中调用原先的值。例如,下面来自ComObj单元的代码在赋新值前保存了InitProc原先的值,然后在新赋予的初始化过程中调用保存在值:
SaveInitProc := InitProc;
InitProc := @InitComObj;
10.IsConsole 变量
指示模块(module)是否作为控制台应用程序编译。
单元
System
var IsConsole: Boolean;
描述
如果模块作为控制台应用程序编译,那么IsConsole变量为True。同时在可执行文件和DLL中将为True(This will be True in both an executable and a DLL)。
11.IsLibrary 变量
指示模块是否是一个DLL。
单元
System
var IsLibrary: Boolean;
描述
如果模块是一个DLL,那么IsLibrary变量为True。
12.JITEnable 变量
控制何时及时调度器会被调用(Controls when the just-in-time debugger is called)。
单元
System
var JITEnable: Byte = 0;
描述
使用JITEnable来指示什么类型的异常会触发及时调试器。
当JITEnable为0(默认值)时,所有的异常将使用应用程序的异常处理机制处理。及时调试器仅当应用程序没有提供任何捕获异常的机制时被调用。注意,除了Delphi单元中的初始化和结束化区,任何包含了Forms单元的应用程序都提供了异常处理(通过Application对象),不会触发及时调试器(Note that any application that includes the Forms unit provides exception handling (via the Application object) for all but the initialization and finalization sections and does not trigger the just-in-time debugger)。
当JITEnable为1时,任何非原生(non-native)异常(使用其他产品编译的代码引发的异常)。都会触发及时调试器。原生异常由应用程序的异常处理机制处理。
当JITEnable大于1时,所有的异常都会触发及时调试器。
注意:当你安装IDE时,它会被注册为及时调试器。如果你安装了其他带调试器的工具,他们可能注册了自己,而覆盖了IDE的注册。
13.Languages 函数
列出可用的支持区域(List the locale for which support is available)。
单元
SysUtils
function Languages: TLanguages;
描述
使用由Languages返回的值可以获得系统支持的关于区域的信息。这个函数仅可用在Windows平台
14.MainInstance变量
指示主要的可执行文件的实例句柄。
单元
System
var MainInstance: LongWord;
描述
使用MainInstance来获得一个应用程序中主要的可执行文件的实例句柄。在使用了运行时库或包的应用程序中,当你需要可执行文件而不是库的句柄时,这很有用。
注意:当从一个使用其他工具编译的可执行文件中运行一个CLX动态链接库(Windows)或者共享对象(Linux)时,不要使用MainInstance。
15.MainThreadID变量
指示当前模块中主执行线程。
单元
System
var MainThreadID: LongWord;
描述
使用MainThreadID来获得主执行线程(模块初始化时的当前线程)的线程ID。
在调试时,这个主线程ID显示在线程状态盒中。
在Windows上,MainThreadID的值和一些Win32API调用所需要的线程ID是兼容的。
16.NoErrMsg变量
控制当运行时错误发生时应用程序是否显示一个错误信息。
单元
System
var NoErrMsg: Boolean = False;
描述
在Windows上,设置NoErrMsg来控制是否有一个消息显示来指出有一个运行时错误发生了。当NoErrMsg为false(默认值)时,运行时错误会导致应用程序显示一个消息框来提出发生的错误的类型。当NoErrMsg为true时,这些消息将被禁止。
在Linux上,NoErrMsg没有任何效果。
注意:SysUtils单元会将大部分的运行时错误转变成异常。如果你的应用程序包含了SysUtils,那么即使NoErrMsg是false,运行时错误消息框也未必会显示。
17.PopupList变量
提供了对发向弹出菜单(popup menu)的Windows消息的集中处理
单元
Menus
var PopupList: TPopupList;
描述
使用PopupList可以访问应用程序中的全部弹出菜单或者访问响应弹出菜单消息的窗口的窗口句柄。PopupList维持了在应用程序中创建的全部弹出菜单组件的列表。这个列表保存一个集中处理发向这些弹出菜单的Windows消息的隐藏窗口的句柄。
18.RTLVersion常量
指出Delphi运行时库的版本号。
单元
System
const RTLVersion = 15.0;
描述
使用RTLVersion可以检查不依赖于编译器版本级别的Delphi运行时库的版本号。
19.Screen变量
表现一个屏幕设备
单元
Forms
var Screen: TScreen;
描述
Screen变量是一个表现应用程序运行时所在系统的屏幕的TScreen组件。默认地,应用程序会创建一个基于当前屏幕设备有关信息的屏幕组件并将其赋给Screen变量。
20.Win32Platform变量
指定Win32平台的标识符
单元
SysUtils
var Win32Platform: Integer = 0;
描述
Win32Platform用于标识系统运行的Win32平台的类型。这将会是下列值之一:
值 含义
VER_PLATFORM_WIN32s 系统是Win32
VER_PLATFORM_WIN32_WINDOWS 系统是Windows 95
VER_PLATFORM_WN32_NT 系统是Windows NT
Win32Platform仅在Windows上可用。
描绘应用程序级的信息
单元
Forms
var Application: TApplication;
描述
默认地,当创建一个新的项目,Delphi会构造一个应用程序对象并将其赋给位于Forms单元中的Application变量。Application拥有数个属性,在应用程序运行时可心用于得到关于应用程序的信息。
示例
这段代码将在编辑框中显示你的项目的名称:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := Application.Title;
end;
2.CmdShow 变量
CmdShow被传递给Windows API 函数 ShowWindow。
单元
System
var CmdShow: Integer;
描述
在程序中,当应用程序创建主窗口时,CmdShow变量包含了 Windows 希望传递给 ShowWindow 的参数值。
在库(DLL)中,CmdShow总是为0。
3.CompilerVersion 常量
指明了Delphi编译器的版本编号
单元
System
const CompilerVersion = 15.0;
描述
使用CompilerVersion可以测试Delphi编译器的统配级别。如果你想条件化利用了Delphi语言更新特色的代码,这会很有用(This is useful if you want to conditionalize code that takes advantage of newer features in the Delphi language)。
4.ExitProcessProc 变量
ExitProcessProc 指定在应用程序关闭(shut down)前最后执行的过程(procedure)。
单元
System
var ExitProcessProc: procedure;
描述
赋值给 ExitProcessProc 来指定你想在应用程序关闭前执行的过程。ExitProcessProc 的值是一个没有参数的过程。
5.GetFileVersion 函数
返回文件版本
单元
SysUtils
function GetFileVersion(const AFileName: string): Cardinal;
描述
GetFileVersion返回一个文件二进制版本号中最有意义的32位。AFileName指定文件名,可以使用和LoadLibrary函数相同的路径搜索到。
6.GetModuleName 函数
返回给定句柄的模块的完全限定名称(fully qualified name)。
单元
SysUtils
function GetModuleName(Module: HMODULE): string;
描述
调用GetModuleFileName来获得给定句柄的模块的完全限定名称。
Module是模块的句柄。
7.HInstance 变量
句柄,由Windows提供给模块(module)。
单元
SysInit
var HInstance: LongWord;
描述
HInstance 容纳了由Windows提供的应用程序或库的实例句柄
8.HintWindowClass 变量
指定用于显示帮助提示(help hint)的窗口的类。
单元
Forms
var HintWindowClass: THintWindowClass = THintWindow;
描述
当应用程序显示帮助提示(Help Hint)时,它会创建一个HintWindowClass的实例来描绘用来显示提示的窗口。应用程序通过创建THintWindow的派生类,然后在应用程序启动时将派生类赋予HintWindowClass变量,能够定制这个窗口。
9.InitProc 变量
InitProc 是最后一个安装的初始化过程。
单元
System
var InitProc: Pointer;
描述
赋值给InitProc来指定一个你想在应用程序启动时执行的过程。InitProc是一个无参数过程。例如:
procedure MyInitProcedure;
...
initialization
InitProc := @MyInitProcedure;
begin
end;
只有一个初始化过程能够被赋予InitProc变量。如果你的应用程序定义了多个初始化过程,仅最后一个赋予InitProc的会执行。要允许其他初始化过程执行,你必须将过程“链接”到一起,从InitProc的新值中调用原先的值。例如,下面来自ComObj单元的代码在赋新值前保存了InitProc原先的值,然后在新赋予的初始化过程中调用保存在值:
SaveInitProc := InitProc;
InitProc := @InitComObj;
10.IsConsole 变量
指示模块(module)是否作为控制台应用程序编译。
单元
System
var IsConsole: Boolean;
描述
如果模块作为控制台应用程序编译,那么IsConsole变量为True。同时在可执行文件和DLL中将为True(This will be True in both an executable and a DLL)。
11.IsLibrary 变量
指示模块是否是一个DLL。
单元
System
var IsLibrary: Boolean;
描述
如果模块是一个DLL,那么IsLibrary变量为True。
12.JITEnable 变量
控制何时及时调度器会被调用(Controls when the just-in-time debugger is called)。
单元
System
var JITEnable: Byte = 0;
描述
使用JITEnable来指示什么类型的异常会触发及时调试器。
当JITEnable为0(默认值)时,所有的异常将使用应用程序的异常处理机制处理。及时调试器仅当应用程序没有提供任何捕获异常的机制时被调用。注意,除了Delphi单元中的初始化和结束化区,任何包含了Forms单元的应用程序都提供了异常处理(通过Application对象),不会触发及时调试器(Note that any application that includes the Forms unit provides exception handling (via the Application object) for all but the initialization and finalization sections and does not trigger the just-in-time debugger)。
当JITEnable为1时,任何非原生(non-native)异常(使用其他产品编译的代码引发的异常)。都会触发及时调试器。原生异常由应用程序的异常处理机制处理。
当JITEnable大于1时,所有的异常都会触发及时调试器。
注意:当你安装IDE时,它会被注册为及时调试器。如果你安装了其他带调试器的工具,他们可能注册了自己,而覆盖了IDE的注册。
13.Languages 函数
列出可用的支持区域(List the locale for which support is available)。
单元
SysUtils
function Languages: TLanguages;
描述
使用由Languages返回的值可以获得系统支持的关于区域的信息。这个函数仅可用在Windows平台
14.MainInstance变量
指示主要的可执行文件的实例句柄。
单元
System
var MainInstance: LongWord;
描述
使用MainInstance来获得一个应用程序中主要的可执行文件的实例句柄。在使用了运行时库或包的应用程序中,当你需要可执行文件而不是库的句柄时,这很有用。
注意:当从一个使用其他工具编译的可执行文件中运行一个CLX动态链接库(Windows)或者共享对象(Linux)时,不要使用MainInstance。
15.MainThreadID变量
指示当前模块中主执行线程。
单元
System
var MainThreadID: LongWord;
描述
使用MainThreadID来获得主执行线程(模块初始化时的当前线程)的线程ID。
在调试时,这个主线程ID显示在线程状态盒中。
在Windows上,MainThreadID的值和一些Win32API调用所需要的线程ID是兼容的。
16.NoErrMsg变量
控制当运行时错误发生时应用程序是否显示一个错误信息。
单元
System
var NoErrMsg: Boolean = False;
描述
在Windows上,设置NoErrMsg来控制是否有一个消息显示来指出有一个运行时错误发生了。当NoErrMsg为false(默认值)时,运行时错误会导致应用程序显示一个消息框来提出发生的错误的类型。当NoErrMsg为true时,这些消息将被禁止。
在Linux上,NoErrMsg没有任何效果。
注意:SysUtils单元会将大部分的运行时错误转变成异常。如果你的应用程序包含了SysUtils,那么即使NoErrMsg是false,运行时错误消息框也未必会显示。
17.PopupList变量
提供了对发向弹出菜单(popup menu)的Windows消息的集中处理
单元
Menus
var PopupList: TPopupList;
描述
使用PopupList可以访问应用程序中的全部弹出菜单或者访问响应弹出菜单消息的窗口的窗口句柄。PopupList维持了在应用程序中创建的全部弹出菜单组件的列表。这个列表保存一个集中处理发向这些弹出菜单的Windows消息的隐藏窗口的句柄。
18.RTLVersion常量
指出Delphi运行时库的版本号。
单元
System
const RTLVersion = 15.0;
描述
使用RTLVersion可以检查不依赖于编译器版本级别的Delphi运行时库的版本号。
19.Screen变量
表现一个屏幕设备
单元
Forms
var Screen: TScreen;
描述
Screen变量是一个表现应用程序运行时所在系统的屏幕的TScreen组件。默认地,应用程序会创建一个基于当前屏幕设备有关信息的屏幕组件并将其赋给Screen变量。
20.Win32Platform变量
指定Win32平台的标识符
单元
SysUtils
var Win32Platform: Integer = 0;
描述
Win32Platform用于标识系统运行的Win32平台的类型。这将会是下列值之一:
值 含义
VER_PLATFORM_WIN32s 系统是Win32
VER_PLATFORM_WIN32_WINDOWS 系统是Windows 95
VER_PLATFORM_WN32_NT 系统是Windows NT
Win32Platform仅在Windows上可用。
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】