ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
685
685
EMPFEHLEN
-
30.11.06 18:57 #1
- Registriert seit
- Feb 2005
- Beiträge
- 2
Hallo!
Ich programmiere seit 3 Jahren C++, jedoch erst seit ein paar Woche mit dem CBuilder, nun hab ich ein problem, ich hoffe ihr könnt mir dort weiterhelfen.
Und zwar folgendes, ich möchte eine Klasse namens "ICar", diese soll ein TImage enthalten, dem ich später ein Bild, Größe, etc. zuweißen kann mit methoden der Klasse
Nun hab ich aber ein Problem damit, das ich ja das Bild auf Form1 anzeigen möchte.
Die Klasse brauche ich, um den Code sauberer zu halten und einfacher mit dem Bild umgehen kann.
Ich hab auf dem Form1 nur einen button der mir beim ausführen eine neue ICar Instanz erstellt. Danach möchte ich dem Bild die Top position ändern, nur da meckert das Programm, wegen Zugriffsfehler auf Speicher. Ich hab einiges im Internet recharchiert, aber ich finde keine Lösung. Wäre um Hilfe sehr dankbar.
Hier noch der Code:
H-Datei der Class ICar
CPP-Datei der Class ICarCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ExtCtrls.hpp> #include <Graphics.hpp> #include "Unit1.h" class ICar { public: ICar(); ~ICar(); TImage *image; };
BUTTON-CodeCode :1 2 3 4 5 6 7
#include "ICar.h" ICar::ICar() { image = new TImage(Form1); image->Parent = Form1; }
Ich denke das vielleicht der CBuilder Probleme hat während der Laufzeit ein TImage zu erzeugen, ich weiß es nicht. VC++ & MFC sind mir vertrauterCode :1 2
ICar *car1; car1->image->Top = 20;
!
Mit freundlichen Grüßen
Ghost
-
Hallo,
du legst nur einen Zeiger an, und der zeigt ins Nirvana... deswegen dann die Zugriffsverletzung...Code :1 2
ICar *car1; car1->image->Top = 20;
Probiers mal so:Bei deinem TImage machstes ja genausoCode :1 2
ICar *car1 = new ICar(); // neues Objekt car1->image->Top = 20;
da bekommt der "image" Zeiger auch nen new TImage ObjektCode :1
image = new TImage(Form1);
MfG Turri
-
01.12.06 15:19 #3
- Registriert seit
- Feb 2005
- Beiträge
- 2
Danke für deinen Tipp!

Ich hab jetzt herausgefunden warum es nicht geklappt hat, und zwar hatte ich folgendes gemacht:
ICar *car1;
Ich hätte dies machen sollen:
ICar *car1 = new ICar();
Ich hatte das mal gemacht nur kam dann ein fehler wegen dem ~ICar(); Constructor.
Ich hab den nicht geklariert daher hat es nicht geklappt. Es hat dsa gefehlt in der CPP-Date:
ICar::~ICar()
{
};
In diesem Sinne, vielen dank!
Super Support hier!
Ghost
Ähnliche Themen
-
Eclipse-Debugger: Class File Editor findet ResourceBundle.class nicht
Von snoopysalive im Forum JavaAntworten: 2Letzter Beitrag: 17.03.08, 16:41 -
Erben von TImage
Von Infernus im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 31.08.06, 17:06 -
TImage
Von ZeroGirl im Forum Delphi, Kylix, PascalAntworten: 1Letzter Beitrag: 19.01.06, 17:44 -
Ableiten von TImage
Von wolf_10de im Forum Borland CBuilder und VCLAntworten: 1Letzter Beitrag: 25.10.04, 14:53 -
TImage und Thread-Objekte
Von xerses im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 23.03.04, 21:51





Zitieren
Login






