У меня такая проблема. Есть программа с MDI формой. В чилдовской форме есть класс.
Child.cpp
//---------------------------------------------------------------------------
void __fastcall TFDoc::FormCreate(TObject *Sender)
{
Net=new cNet();
Image1->Repaint();
}
//---------------------------------------------------------------------------
void __fastcall TFDoc::FormCloseQuery(TObject *Sender, bool &CanClose)
{
int res = Application->MessageBoxA("Сохранить документ?","Сохранение", MB_YESNOCANCEL + MB_ICONQUESTION);
if(res == IDCANCEL){CanClose = false;}
if(res == IDYES){}
if(res == IDNO){}
}
//---------------------------------------------------------------------------
void __fastcall TFDoc::FormDestroy(TObject *Sender)
{
delete Net;
}
//---------------------------------------------------------------------------
void __fastcall TFDoc::FormClose(TObject *Sender, TCloseAction &Action)
{
Action = caFree;
}
//---------------------------------------------------------------------------
Child.h
class cNet
{
private:
int comp_n, coords[50][2];
public:
cNet();
~cNet();
int Num();
int Test(int x, int y);
void Add(int x, int y);
};
//---------------------------------------------------------------------------
cNet::cNet()
{
int i;
comp_n=0;
for(i=1; i<=50; i++){coords[i][0]=0;coords[i][1]=0;};
};
//---------------------------------------------------------------------------
cNet::~cNet()
{
};
//---------------------------------------------------------------------------
class TFDoc : public TForm
{
__published: // IDE-managed Components
TOpenDialog *OpenDialog1;
TSaveDialog *SaveDialog1;
TMainMenu *MainMenu1;
TMenuItem *MFile;
TMenuItem *MOpen;
TMenuItem *MSave;
TImage *Image1;
TImageList *ImageList1;
TToolBar *ToolBar1;
TToolButton *ToolButton1;
TToolButton *ToolButton2;
TMenuItem *N1;
TEdit *Edit1;
TEdit *Edit2;
void __fastcall MOpenClick(TObject *Sender);
void __fastcall MSaveClick(TObject *Sender);
void __fastcall Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y);
void __fastcall Image1DblClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall Image1Click(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private: // User declarations
public: // User declarations
__fastcall TFDoc(TComponent* Owner);
cNet* Net;
};
//---------------------------------------------------------------------------
extern PACKAGE TFDoc *FDoc;
//---------------------------------------------------------------------------
#endif
MDIForm.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "UMDI.h"
#include "UDoc.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFMDI *FMDI;
//---------------------------------------------------------------------------
__fastcall TFMDI::TFMDI(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFMDI::MVertClick(TObject *Sender)
{
TileMode = tbVertical;
Tile();
}
//---------------------------------------------------------------------------
void __fastcall TFMDI::MIconsClick(TObject *Sender)
{
ArrangeIcons();
}
//---------------------------------------------------------------------------
void __fastcall TFMDI::MNewClick(TObject *Sender)
{
TFDoc* TF = new TFDoc(this);
TF->Caption = "Документ " + IntToStr(MDIChildCount);
}
//---------------------------------------------------------------------------
Но при закрытие child окна появляется ошибка (что-то про Debugger Access). Что мне делать, где я ошибся?
З.Е. Писано на Биледере.
06.04.03 03:27: Перенесено из 'C/C++'