Ciao a tutti,
io ho il problema di dover allocare dinamicamente un oggetto grafico (in particolare una matrice di TShape) in un progetto che sto realizzando con C++Builder 6 della Borland usando la Visual Component Library.
Ho scritto il seguente codice
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i, j;
int PosX, PosY, Pitch, SizeLed;
PosX = 32;
PosY = 32;
Pitch = 12;
SizeLed = 10;
NRow = 16;
NCol = 144;
Shape = new TShape**[NRow];
for(i=0; i<NRow; i++)
Shape[i] = new TShape*[NCol];
for(i=0; i<NRow; i++)
for(j=0; j<NCol; j++)
{
Shape[i][j] = new TShape(Owner);
Shape[i][j]->Shape = stCircle;
Shape[i][j]->Height = SizeLed;
Shape[i][j]->Width = SizeLed;
Shape[i][j]->Top = PosX + i*Pitch;
Shape[i][j]->Left = PosY + j*Pitch;
Shape[i][j]->Brush->Color = clRed;
Shape[i][j]->Brush->Style = bsSolid;
Shape[i][j]->Visible = true;
}
}
dove Shape è dichiarato come
private: // User declarations
TShape ***Shape;
nella classe TForm.
Questo codice viene compilato correttamente senza alcun errore, ma quando clicco sul buttone per eseguire la procedura di allocazione dei TShape non viene visualizzato nulla nel form. Controllando da debug osservo che la matrice viene costruita e allocata correttamente, e quindi sembra che l'unico problema sia proprio nella visualizzazione.
Sapete dirmi qualcosa al riguardo? Qualche soluzione al problema?
Ringrazio
Davide