Linker Fehler mit dem Destruktor ????
-
Hallo zusammen,
habe mir gerade vorgenommen das 4 gewinnt Spiel zu schreiben, jetzt wollte ich mal mit dem Spielfeld anfangen und bekomme eine Fehlermeldung mit der ich nichts richtiges anfangen kann.
Ich habe auch ein Beispiel Code bei dem es nach meiner Meinung nach genauso aussieht und da geht es. Nur bei diesem Programm was ich jetzt habe will das nicht funktionieren könntet ihr mir da vielleicht helfen DANKEGruß Braintee
=============================================================================
Spalte.h#ifndef HEADER_SPALTE
#define HEADER_SPALTEclass TSpalte
{//
/* Daten */
//
/*Private Daten der Klasse*/
private:int xpos;
int ypos;
int Spaltenbreite;
int Spaltenhoehe;
int Spielsteinradius;
int Anzahl;
TCanvas *Leinwand;TBrush *Pinsel;
TPen *Stift;
/*Oeffentliche Daten der Klasse*/
public:
//
/* Funktionen */
//
/*Private Funktionen der Klasse*/
private:/*Funktion zeichnet die Lok an der aktuellen Position auf die Leinwand*/
void Zeichnen(void);public:
/*Konstruktor der Klasse*/
TSpalte(int xpos, int ypos, int Spaltenbreite, int Spielsteinradius, TCanvas *Zeichenflaeche);/*Destruktor der Klasse*/
~TSpalte(void);};
#endif
=============================================================================
Spalte.cpp#include <vcl.h>
#include "Spalte.h"TSpalte::TSpalte(int xpos, int ypos, int Spaltenbreite, int Spielsteinradius, TCanvas *Zeichenflaeche)
{
/*Startposition in Klassenglobale Variable eintragen*/int start_x;
int start_y;
int x;
int y;
int spaltennr;if (start_x<start_y)
{
Spaltenbreite = x/ 7;
}
else
{
if (start_y<start_x)
{
Spaltenbreite = y/ 7;xpos = (Spaltenbreite/2)+(Spaltenbreite*spaltennr);
ypos = 5;/*Leinwand uebertragen*/
Leinwand = Zeichenflaeche;/*Stift und Pinsel anlegen*/
Stift = new TPen;
Pinsel = new TBrush;/*Farben und Fuellung zuweisen*/
Stift->Color = clBlack;
Pinsel->Color = clBlack;
Pinsel->Style = bsSolid;/*Meinen Pinsel und Stift auf der Leinwand verwenden*/
Leinwand->Pen = Stift;
Leinwand->Brush = Pinsel;/*Spalte Zeichnen*/
Zeichnen();
}TSpalte::~TSpalte();
{
/*Stift und Pinsel loeschen*/
delete Stift;
delete Pinsel;
}TSpalte::Zeichnen();
{
int x1;
int x2;
int y1;
int y2;
int spaltenbreite;
int breite;
int hoehe;
int spaltenlaenge;x1=xpos-spaltenbreite/2;
x2=xpos+Spaltenbreite/2;
y1=ypos;
y2=7*Spaltenbreite;
TCanvas *Zeichenfl;x1=xpos-(abs(spaltenbreite/2));
y1=ypos;
x2=xpos+(abs(spaltenbreite/2));
y2=ypos+spaltenlaenge;/*Lokale Variable*/
Windows::TPoint points[4];Leinwand->Rectangle ( x1, y1, x2, y2);
}
}
}
===========================================================================
Unit1.h//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // Von der IDE verwaltete Komponentenvoid __fastcall FormPaint(TObject *Sender);
private: // Anwender-Deklarationen
public: // Anwender-Deklarationen
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif=============================================================================
unit1.cpp//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop#include "Unit1.h"
#include "Spalte.h"//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TSpalte *haribo;//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
haribo = new TSpalte(20,20,20,20,Canvas);
}
-
TSpalte::~TSpalte() >>>;<<<
{
/*Stift und Pinsel loeschen*/
delete Stift;
delete Pinsel;
}