Fehler in Borland-Hilfe
-
Hallo,
beim Kompilieren eines Beispiels aus der Borland-Hilfe erhalte ich die Fehlermeldung:
E2034 Konvertierung von 'void *' nach 'unsigned char *' nicht möglichfür nachfolgenden Ausdruck:
ptr = pBitmap->ScanLine[y];Nachstehend der Originalcode aus der Hilfe.
void __fastcall TForm1::Button3Click(TObject *Sender) { Graphics::TBitmap *pBitmap = new Graphics::TBitmap(); // Dieses Beispiel zeigt das direkte Zeichnen auf die Bitmap Byte *ptr; try { pBitmap->LoadFromFile("C:\\testfeld\\Bilder\\factory.bmp"); for (int y = 0; y < pBitmap->Height; y++) { ptr = pBitmap->ScanLine[y]; for (int x = 0; x < pBitmap->Width; x++) ptr[x] = (Byte)y; } Canvas->Draw(0,0,pBitmap); } catch (...) { ShowMessage("Could not load or alter bitmap"); } delete pBitmap; }Was ist hier falsch?
Gruß
Leo
-
Hallo
mach einfach einen cast :
ptr = (unsigned char *) pBitmap->ScanLine[y];oder exakter
ptr = reinterpret_cast<unsigned char *> (pBitmap->ScanLine[y]);bis bald
akari
-
In der Hilfe zum BCB5/6 lautet die entsprechende Zeile
ptr = (Byte *)pBitmap->ScanLine[y];Tip: auf der Borland Website mal nach aktualisierten Hilfedateien für die eigene Version umsehen oder ggf. dort die Version für BCB5 herunterladen.