Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как выловить incorrect method


Автор: reistlin_shadow 26.11.2006, 21:03
bcb6, winXP HE
Incorrect method declaration in class smile  ...


Просто выдает ошибку, не показывает, в какой строке она допущена.  Компилировать, до того, как эта ошибка исправлена, вообще отказывается. Я смотрю на код во все глаза уже второй день, не могу понять, в чем тут дело. Класс большой, компонентов много, обработчики назначены, самое смешное, что все работало исправно, пока я не решил добавить в header прототипы нескольких новых функций. 
Хелп не дает существенной поддержки:

To keep your form and source code synchronized, C++Builder must be able to find and maintain the declaration of each method in the first section of the form's class definition. The form designer will report an error unless the field and method declarations in this section are equivalent to the following:

...

Class TForm1: public TForm {
    FieldType Field1;
    FieldType Field2;
    ...
    <Method1 Declaration>;
    <Method2 Declaration>;
    ...

...

This error occurred because one or more method declarations in this section have been deleted, commented out, or incorrectly modified. Use UNDO to reverse your changes or correct the declaration manually.

Note that this first section of the form's class declaration is reserved for use by the form designer. To declare your own fields and methods, place them in a separate public, private, or protected section.

Делал UNDO, пока не дошел до своего самого первого варианта модуля. Бесполезно. Тот же самый плачевный результат. В чем тут может быть дело?

Код

#ifndef NotesH
#define NotesH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ActnList.hpp>
#include <ComCtrls.hpp>
#include <DB.hpp>
#include <DBTables.hpp>
#include <ImgList.hpp>
#include <Menus.hpp>
#include <ToolWin.hpp>
//---------------------------------------------------------------------------


class TNotesForm : public TForm
{
__published:    // IDE-managed Components
       TActionList *ActionList1;
        TTable *Table;
        TDataSource *DataSource1;
        TAction *CreateNewNote;
        TAction *SaveNote;
        TAction *DeleteNote;
        TAction *Exit;
        TAction *CreateReport;
        TAction *FindString;
        TAction *GetHelp;
        TImageList *ImageList1;
        TMainMenu *MainMenu1;
        TMenuItem *N1;
        TMenuItem *N2;
        TMenuItem *N3;
        TMenuItem *N4;
        TMenuItem *N5;
        TMenuItem *N6;
        TMenuItem *N7;
        TMenuItem *N8;
        TMenuItem *N9;
        TToolBar *ToolBar1;
        TToolButton *ToolButton1;
        TToolButton *ToolButton2;
        TToolButton *ToolButton3;
        TToolButton *ToolButton4;
        TToolButton *ToolButton5;
        TToolButton *ToolButton6;
        TToolButton *ToolButton7;
        TToolButton *ToolButton8;
        TToolButton *ToolButton9;
        TToolButton *ToolButton10;
        TButton *Button1;
        TDateTimePicker *DateTimePicker1;
        TToolButton *ToolButton11;
        TListView *List;


        void __fastcall CreateNewNoteExecute(TObject *Sender);
        void __fastcall SaveNoteExecute(TObject *Sender);
        void __fastcall DeleteNoteExecute(TObject *Sender);
        void __fastcall ExitExecute(TObject *Sender);
        void __fastcall CreateReportExecute(TObject *Sender);
        void __fastcall FindStringExecute(TObject *Sender);
        void __fastcall GetHelpExecute(TObject *Sender);
        void __fastcall DateTimePicker1CloseUp(TObject *Sender);
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
        void __fastcall FormShow(TObject *Sender);

private:    // User declarations

public:        // User declarations


        __fastcall TNotesForm(TComponent* Owner);
        __fastcall void Refresh();
        __fastcall void ShowAll();
        __fastcall void NotesByDate(AnsiString s);
        friend __fastcall void Save();
        friend __fastcall void Vopros();


}

        bool TextWasChanged;
        bool IsNote;
        int id;
        enum State {New,Refr,All,Delete,ChangeDate}st;

//---------------------------------------------------------------------------
extern PACKAGE TNotesForm *NotesForm;
//---------------------------------------------------------------------------
#endif 




Автор: dumb 26.11.2006, 21:33
Код

        friend __fastcall void Vopros();
}; // <-- ; !
        bool TextWasChanged;

Автор: reistlin_shadow 26.11.2006, 21:58
Что называется, поделом тебе, лох. Спасибо огромное, проблема действительно решилась.  Должник навеки.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)