Witam,
W programie, który ma wczytywać pliki do zakładek, pojawia mi się błąd.
Robione w C++ Builder 6. Dzięki za wszelkie podpowiedzi, bo próbuję na różne strony
i już nie wiem.
nagłówek:
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMenuItem *Plik1;
TMenuItem *OtwrzPlik1;
TPageControl *PageControl1;
TOpenDialog *OpenDialog1;
TSaveDialog *SaveDialog1;
TMenuItem *Zapisz1;
void __fastcall OtwrzPlik1Click(TObject *Sender);
void __fastcall DodajZakladke(TPageControl *PageControl1);
void __fastcall Wczytaj(TPageControl *PageControl1);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
class TDocument : public TTabSheet
{
public:
TDocument(TPageControl *PageControl1);
__fastcall ~TDocument();
void LoadFromFile(String AFileName);
TRichEdit *RichEdit;
String FileName;
};
TDocument::TDocument(TPageControl *PageControl1): TTabSheet(PageControl1)
{
PageControl = PageControl1;
Caption = "Nowy dokument";
RichEdit = new TRichEdit(this);
RichEdit->Parent = this;
RichEdit->Align = alClient;
RichEdit->WordWrap = false;
RichEdit->ScrollBars = ssBoth;
}
#endif
treść:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
int i=1;
void __fastcall TForm1::DodajZakladke(TPageControl *PageControl1)
{
TTabSheet *Zakladka;
Zakladka = new TTabSheet(PageControl1);
Zakladka->PageControl = PageControl1;
Zakladka->Caption="Dokument " +IntToStr(i++);
TRichEdit *RichEdit;
RichEdit = new TRichEdit(Zakladka);
RichEdit->Parent = Zakladka;
RichEdit->Align = alClient;
RichEdit->ScrollBars = ssBoth;
}
void TDocument::LoadFromFile(String AFileName)
{
FileName = AFileName;
RichEdit->Lines->LoadFromFile(FileName);
Caption = ExtractFileName(FileName);
}
void __fastcall TForm1::Wczytaj(TPageControl *PageControl1)
{
TDocument *Doc1;
Doc1 = new TDocument(PageControl1) ;
if (OpenDialog1->Execute())
{
Doc1->RichEdit->Lines->LoadFromFile(OpenDialog1->FileName);
}
}
void __fastcall TForm1::OtwrzPlik1Click(TObject *Sender)
{
DodajZakladke(PageControl1);
Wczytaj(PageControl1);
}
//---------------------------------------------------------------------------
A błąd to:
[Linker Error] Unresolved external '__fastcall TDocument::~TDocument()' referenced from D:\EDYTOR\UNIT1.OBJ