Hola aguml.
Si deseas trabajar con un array dinámico de elementos tipo
AnsiString la declaración,
Código PHP:
AnsiString **rutas = 0;
es incorrecta, estas declarando una
matriz de elementos tipo
AnsiString, la declaración debería ser:
Código PHP:
AnsiString *rutas;
De todos modos creo que tal vez usando
TStrings te resulte mas simple... Un ejemplo (sin mucho ornamento):
Código PHP:
TStrings *ts;
// Crear lista
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ts = new TStringList;
}
// Cargar texto y grafico en TStrings
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i = 0; i < ImageList1->Count; i++) {
Graphics::TBitmap* bm = new Graphics::TBitmap;
ImageList1->GetBitmap(i, bm);
ts->AddObject(IntToStr(i), // cadena
(TObject*)bm); // imágen
}
ListBox1->Items->Assign(ts);
}
// Mostrar en un ListBox
void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index,
TRect &Rect, TOwnerDrawState State)
{
TListBox *lb = static_cast<TListBox*>(Control);
Graphics::TBitmap *bm = static_cast<Graphics::TBitmap*>(lb->Items->Objects[Index]);
lb->Canvas->FillRect(Rect);
lb->Canvas->Draw(Rect.left,Rect.top, bm); // mostrar bitmap
lb->Canvas->TextOut(Rect.left+bm->Width+10, // mostrar cadena
Rect.top, lb->Items->Strings[Index]);
}
// Liberar memoria
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete ts;
}
(En el ejemplo los gráficos son extraidos de un
TImageList)
Resultado:
Saludos
