Error creating form

0

Od niedawna zacząłem programować w c++ Builder. Stworzyłem całkiem spory projekt, który działał i się kompilował oraz uruchamiał. W wyniku przypadkowego kliknięcia trochę namieszałem ale udało się jakoś odbudować projekt. Problem jest taki że program się kompiluje po czy wyskakuje błąd "Error creating form: Error in module Unit 1: Incorrect declaration in class" , zaś program się nie uruchamia. Ktoś wie co może być nie tak?

fragment kodu pliku Unit1.h:

class TSchool : public TForm
{
__published:	// IDE-managed Components
	TButton *Error1_button;
	TLabel *Error1_label, *Name_label, *Hello_label;
    TEdit *Name_edit;
	void __fastcall FormShow(TObject *Sender);
	void __fastcall Error1_buttonClick(TObject *Sender);
	void __fastcall Name_editOnKeyPress(TObject *Sender, System::WideChar &Key);
	void __fastcall SchoolOnClose(TObject *Sender, TCloseAction &Action);
private:	// User declarations
public:		// User declarations
	__fastcall TSchool(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TSchool *School;
//---------------------------------------------------------------------------
#endif


fragment kodu Unit1.cpp(tu podejrzewam że jest błędna deklaracja, ale nie widzę błędu):

void __fastcall TSchool::SchoolOnClose(TObject *Sender, TCloseAction &Action)
{
name_file.close();
}
//---------------------------------------------------------------------------
1

Najprawdopodobniej namieszałeś w sekcji __published i wydaje mi się, że chyba wiem co jest nie tak. Złączyłeś deklarację trzech komponentów TLabel w jedną linię. O ile z punktu widzenia C++ jest to dozwolone, o tyle coś takiego w sekcji zarządzanej prze IDE nie ma prawa istnieć. Zatem zmień z

class TSchool : public TForm
{
__published:    // IDE-managed Components
    TButton *Error1_button;
    TLabel *Error1_label, *Name_label, *Hello_label;
    TEdit *Name_edit;
    void __fastcall FormShow(TObject *Sender);
    void __fastcall Error1_buttonClick(TObject *Sender);
    void __fastcall Name_editOnKeyPress(TObject *Sender, System::WideChar &Key);
    void __fastcall SchoolOnClose(TObject *Sender, TCloseAction &Action);
private:    // User declarations
public:     // User declarations
    __fastcall TSchool(TComponent* Owner);
};

na

class TSchool : public TForm
{
__published:    // IDE-managed Components
    TButton *Error1_button;
    TLabel *Error1_label;
    TLabel *Name_label;
    TLabel *Hello_label;
    TEdit *Name_edit;
    void __fastcall FormShow(TObject *Sender);
    void __fastcall Error1_buttonClick(TObject *Sender);
    void __fastcall Name_editOnKeyPress(TObject *Sender, System::WideChar &Key);
    void __fastcall SchoolOnClose(TObject *Sender, TCloseAction &Action);
private:    // User declarations
public:     // User declarations
    __fastcall TSchool(TComponent* Owner);
};

i zobacz czy podziałało. Moim zdaniem tego właśnie się czepia kompilator.

0

Już działa dzięki za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1