在C ++ builder 10.1中重新定义表单

时间:2017-08-18 21:50:15

标签: c++ c++builder

我正在为我的应用编写代码,现在我无法解决我所做的混乱,而且我不知道到底发生了什么

IDE:C ++ builder 10.1 Berlin(FMX)

ERROR1:

[bccaarm Error] texts.cpp(12): redefinition of 'Form4'
texts.cpp(12): previous definition is here

误差2:

[bccaarm Error] texts.cpp(14): redefinition of 'TForm4'
texts.cpp(14):  previous definition is here

texts.cpp:

//---------------------------------------------------------------------------

#include <fmx.h>
#pragma hdrstop

#include "texts.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.fmx"


TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

texts.h:

//---------------------------------------------------------------------------

#ifndef textsH
#define textsH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.Controls.Presentation.hpp>
#include <FMX.StdCtrls.hpp>
#include <FMX.Types.hpp>
//---------------------------------------------------------------------------
class TForm4 : public TForm
{
__published:    // IDE-managed Components
    TLabel *erremptb;
    TLabel *errnofloat;
    TLabel *errjustpos;
    TLabel *errnoneg;
    TLabel *errinp2;
    TLabel *errinp1;
private:    // User declarations
public:     // User declarations
    __fastcall TForm4(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm4 *Form4;
//---------------------------------------------------------------------------
#endif

如果您需要更多信息,请告诉我,如果您帮我解决,我会很高兴

2 个答案:

答案 0 :(得分:0)

texts.cpp的行

TForm4 *Form4;

是对Form4的重新定义。第一个定义是在之前包含的texts.h的末尾。

extern PACKAGE TForm4 *Form4;

答案 1 :(得分:0)

这是一个IDE错误,我删除了该表单并做了其他解决问题 在我删除之前,我评论我的texts.cpp文件并编译它,然后我取消注释它和代码运行但之后它不再运行我的技巧所以我用另一种方法来解决我的问题。 谢谢你的尝试,但这是一个愚蠢的Radstudio bug