Entwickler-Ecke

Off Topic - TCanvas benutzung in C++ Builder


NCortex - So 18.03.07 12:28
Titel: TCanvas benutzung in C++ Builder
Hallo, hat schonmal einer was mit dem C++ Builder gemacht.

Ich kann c++ und delphi, aber die symbiose will einfach nicht so wie ich es mir denke.

Also, ich hab eine Klasse TCar:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
class TCar
{
   private:
   ...

   TCanvas* Canvas; //auch nicht....
   ...


   public:
   TCar(double x,double y, TCanvas* Canvas); //mag er nicht....
   
   ...

   void Draw(TCanvas* Canvas); // da meint er zu mir, [C++ Error] TCar.cpp(39): E2316 'TCar::Draw(TCanvas *)' is not a member of 'TCar'

};


in der cpp:

void TCar::Draw(TCanvas* Canvas){

  Canvas->Brush->Color = clBlack;

  for(int i= 0;i<4;i++){
  Canvas->Ellipse(_Tires[i].x - _TireSize,
                        _Tires[i].y - _TireSize,
                        _Tires[i].x + _TireSize,
                        _Tires[i].y + _TireSize);
  Canvas->MoveTo(_CarPoint.x,_CarPoint.y);
  Canvas->LineTo(_Tires[i].x,_Tires[i].y);
  }
  Canvas->Ellipse(_CarPoint.x - _TireSize,
                          _CarPoint.y - _TireSize,
                          _CarPoint.x + _TireSize,
                          _CarPoint.y + _TireSize);

}


also lange rede Kurzer sinn, ich möchte ein Pointer auf ein canvas übergeben und dann da drauf per Draw(); zeichnen, aber weder das übergeben von TCanvas im Kontruktor, noch als Parameter geht.

Kann mir da einer Helfen???


Moderiert von user profile iconUGrohne: Topic aus Multimedia / Grafik verschoben am So 18.03.2007 um 12:31


r2c2 - So 18.03.07 14:12

Hallo :wave:

ich bitte um genauere Informationen:
a) weitere Fehlermeldungen
b) hast du die benötigen Header-Dateien eingebunden?
c) warum mischst du C++-Klassen und VCL-Klassen(--> besser von TObject ableiten)?

BTW: mit cs-Tags sieht der Code IMHO besser aus...

mfg

Christian