wczytanie_liczby(&x,&y,&b);

kiedyś mi działało normalnie
kilka razy testowalem i przy okolo 9800 powtórzeniu wyskakuje błąd

canvas does not allow drawing

to robi funkcja wczytanie liczby:

int wczytanie_liczby(int *x,int *y,int *b)
{

 int i,j,licz,licz2;
 licz=0;
 licz2=0;

HDC dc = GetDC(0);
TCanvas &PulpitCanvas = *new TCanvas();

Graphics::TBitmap *bitmap = new Graphics::TBitmap;
Graphics::TBitmap *bitmap0 = new Graphics::TBitmap;


PulpitCanvas.Handle = GetDC(0);
bitmap->Width = 16;
bitmap->Height = 21;


//dokładnie ta funkcja powoduje przekopiowanie kawałka ekranu do bitmapy w pamięci
bitmap->Canvas->CopyRect(Rect(0, 0, 16, 21), &PulpitCanvas,Rect(*x,*y, *x+16, *y+21));

		bitmap->SaveToFile("c:\\1\\zrzut.bmp");


	bitmap0->LoadFromFile("c:\\1\\0.bmp");



 ///////////poczatek wczytywanie b z pliku ////////////////////////
	for (i=0; i < 16; i++)
	{
	  for (j=0; j < 21; j++)
	  {
	   if( bitmap->Canvas->Pixels[i][j]==bitmap0->Canvas->Pixels[i][j])
		{
		licz++;
		}
	   }
	 }
	if (licz==336)
	{
		licz2++;
		*b=0;
		//cout <<"    takie same0  b= "<<*b<<endl;
	}
	if(licz<336||licz>336)
	{
	licz=0;
	}