在一单元中定义Database为什么编译没问题,运行时却总报错?大家请看看!在线等!
我在Unit2.h文件中是这样定义的:
#ifndef Unit2H
#define Unit2H
#include <DB.hpp>
#include <DBTables.hpp>
//---------------------------------------------------------------------------
class abc
{
private:
public:
TDatabase *Database;
TQuery *Query;
abc();
void __fastcall smg();
}xyz;
#endif
然后在Unit2.cpp文件中初始化Database:
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#pragma package(smart_init)
abc::abc()
{
//Database = new TDatabase();
Database->AliasName = "2102005";
Database->DatabaseName = "aaa";
Database->LoginPrompt = false;
Database->Connected = true;
Query->DatabaseName = "aaa";
}
void __fastcall abc::smg()
{
}
然后我在一窗口中包含该单元后调用:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
xyz.smg();
}
运行到构造函数中:
Database->AliasName = "2102005";语句出错!
报的好象是地址错,一长串,看不懂!我猜是否要初始化Database,可
Database = new TDatabase(this);却行不通.
哪位遇到过该情况的请指教一二,谢谢!在线等!