Canvas does not allow drawing

0

Witam,

Rozpocząłem niedawno moja przygode z klasa TCanvas. Wszystko dziala bardzo ladnie jesli korzystam z tej klasy bezposrednio w programie glownym.


void __fastcall TForm1::Button5Click(TObject *Sender)
{

Canvas->Brush->Color = clRed;
Canvas->Pen->Color = clBlue;
Canvas->Ellipse(20, 20, 120,120);
}

lecz chcialem umiescic same procedury rysowania w metodzie mojej nowej klasy

class pilka
{
        TCanvas *kupa;
        float wymiarX;
        float wymiarY;
        float pozX;
        float pozY;

        public:

        void rysuj(float wymX, float wymY, float pX, float pY);
};



void pilka::rysuj(float wymX, float wymY, float pX, float pY)
{
 kupa = new TCanvas;

 kupa->Brush->Color = clRed;
 kupa->Pen->Color = clBlue;
 kupa->Ellipse(wymX, wymY, pX, pY);
}

lecz taki sposob nie dziala. Gdy odwołuję sie do tej metody w programie glownym program wyswietla mi error : " project.exe raised exception class EInvalidOperation with message 'Canvas does not allow drawing. ..."
Wie ktos moze dla czego tak sie dzieje? Moze powienienem Canvasowi wskazac po czym mam rysowac, gdzies umiesciec jakies .this, ? Zaznaczam, ze z ta klasa mam malo do czynienia, wiec prosze o jakas sugestie.

0

Przekazuj do tej klasy w jakimś konstruktorze canvasa formatki.

0

dobra, dzieki
juz kumam

1 użytkowników online, w tym zalogowanych: 0, gości: 1