如何在 C++ Builder 中从 TADOQuery 扩展 class?
How to extend a class from TADOQuery in C++ Builder?
我正在尝试从下面的 TADOQuery 创建扩展 class。
我已将新单元添加到项目中。
Unit2.h
#include <ADODB.hpp>
#ifndef Unit2H
#define Unit2H
#endif
class TExTADOQuery : public TADOQuery
{
typedef TADOQuery inherited;
public:
__fastcall virtual TExTADOQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TExTADOQuery(void);
}
Unit2.cpp
#pragma hdrstop
#include "Unit2.h"
#pragma package(smart_init)
当我编译时收到该错误消息。
[C++ Error] Unit2.cpp(12): E2040 Declaration terminated incorrectly
ADODB.hpp
class DELPHICLASS TADOQuery;
class PASCALIMPLEMENTATION TADOQuery : public TCustomADODataSet
{
typedef TCustomADODataSet inherited;
private:
Classes::TStrings* FSQL;
int FRowsAffected;
Classes::TStrings* __fastcall GetSQL(void);
void __fastcall SetSQL(const Classes::TStrings* Value);
protected:
void __fastcall QueryChanged(System::TObject* Sender);
public:
__fastcall virtual TADOQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TADOQuery(void);
int __fastcall ExecSQL(void);
__property int RowsAffected = {read=FRowsAffected, nodefault};
__published:
__property CommandTimeout = {default=30};
__property DataSource ;
__property EnableBCD = {default=1};
__property ParamCheck = {default=1};
__property Parameters ;
__property Prepared = {default=0};
__property Classes::TStrings* SQL = {read=GetSQL, write=SetSQL};
};
我不明白 PASCALIMPLEMENTATION。
如何正确申报?
我忘了分号。
class TExTADOQuery : public TADOQuery
{
typedef TADOQuery inherited;
public:
__fastcall virtual TExTADOQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TExTADOQuery(void);
};
我正在尝试从下面的 TADOQuery 创建扩展 class。
我已将新单元添加到项目中。
Unit2.h
#include <ADODB.hpp>
#ifndef Unit2H
#define Unit2H
#endif
class TExTADOQuery : public TADOQuery
{
typedef TADOQuery inherited;
public:
__fastcall virtual TExTADOQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TExTADOQuery(void);
}
Unit2.cpp
#pragma hdrstop
#include "Unit2.h"
#pragma package(smart_init)
当我编译时收到该错误消息。
[C++ Error] Unit2.cpp(12): E2040 Declaration terminated incorrectly
ADODB.hpp
class DELPHICLASS TADOQuery;
class PASCALIMPLEMENTATION TADOQuery : public TCustomADODataSet
{
typedef TCustomADODataSet inherited;
private:
Classes::TStrings* FSQL;
int FRowsAffected;
Classes::TStrings* __fastcall GetSQL(void);
void __fastcall SetSQL(const Classes::TStrings* Value);
protected:
void __fastcall QueryChanged(System::TObject* Sender);
public:
__fastcall virtual TADOQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TADOQuery(void);
int __fastcall ExecSQL(void);
__property int RowsAffected = {read=FRowsAffected, nodefault};
__published:
__property CommandTimeout = {default=30};
__property DataSource ;
__property EnableBCD = {default=1};
__property ParamCheck = {default=1};
__property Parameters ;
__property Prepared = {default=0};
__property Classes::TStrings* SQL = {read=GetSQL, write=SetSQL};
};
我不明白 PASCALIMPLEMENTATION。
如何正确申报?
我忘了分号。
class TExTADOQuery : public TADOQuery
{
typedef TADOQuery inherited;
public:
__fastcall virtual TExTADOQuery(Classes::TComponent* AOwner);
__fastcall virtual ~TExTADOQuery(void);
};