“extern PACKAGE TMyForm * MyForm”是什么意思

时间:2013-05-02 20:28:40

标签: c++ c++builder

在C ++ Builder XE2中,IDE会在TMyForm类之后立即将此行代码放在与TMyForm关联的头文件中。我确定这与以下事实有关:所有属性TMyForm都在MyForm.dfm中定义,并且需要以某种方式链接到可执行文件中,但我在文档或在线中找不到任何对它的引用。谷歌搜索“extern PACKAGE”只会产生大量包含短语的代码示例。

奇怪的是,评论它似乎没有任何影响。我甚至删除了.res文件并进行了重建,没有它就可以正常运行。这似乎否定了我上面的假设。

1 个答案:

答案 0 :(得分:7)

extern TMyForm *MyForm用于声明一个全局变量(实际上存在于Form的.cpp文件中)。如果此变量配置为在应用启动时自动加载,或者您在自己的代码中手动分配,则该变量在运行时指向TForm对象。

PACKAGE是一个扩展为__declspec(package)的宏,如果您选择在Package中使用它,则会将该类标记为可在Package中编译。