在一单元中定义Database为什么编译没问题,运行时却总报错?大家请看看!在线等!

cfqmxh cfqmxh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在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);却行不通.
哪位遇到过该情况的请指教一二,谢谢!在线等!
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
cfqmxh
C++ Builder 13,871 成员 102,696 内容