初次接触C++ BUILDER,问个问题
MAIN.CPP如下:
#include <vcl.h>
#pragma hdrstop
#include "main.h "
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm "
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
CreateIndices();
SelectIndex();
}
//---------------------------------------
void TForm1::CreateIndices()
{
// Creating the index from Figure 1
TIndexDef *ItemsIndex = ClientDataSet1-> IndexDefs-> AddIndexDef();
ItemsIndex-> Name = "ItemsTotal ";
ItemsIndex-> Fields = "ItemsTotal ";
TIndexDef *PaymentMethodIndex = ClientDataSet1-> IndexDefs-> AddIndexDef();
PaymentMethodIndex-> Name = "PaymentMethod ";
PaymentMethodIndex-> Fields = "PaymentMethod ";
}
这里面的TFORM1 *FORM1;为什么没有写在函数里面,那么他这个是什么时候用他哪?
还有#pragma package(smart_init)
#pragma resource "*.dfm "这两句又是什么意思哪?
[解决办法]
TForm1 *Form1表示定义了一个类型为“TForm1 *”的全局变量,定义变量,当然就不能写在函数里面了,只能放在函数外面,一般在开头。
#pragma package(smart_init)指定按优先级顺序编译。这个选项可不写,其差别非高级专业人士体会不出。
#pragma resource "*.dfm "表示需要链接的资源文件。