Mehrere TImage dynamisch laden
-
Hallo
Ich habe lange nichts mehr mit dem CBuilder 5 gemacht.
Jetzt wollte ich "mal eben" 5 Bitmap-Bilder (TImage) dynamisch laden
und später nacheinander anzeigen.
Für TImageList sind die Bilder zu gross.
Folgendes hab ich probiert:In Unit1.h:
TImage *Bilder[5];
In Unit1.cpp:
void __fastcall TForm1::FormShow(TObject *Sender) { for (int i = 0; i < 5; i++) { Bilder[i]->Picture->LoadFromFile("G:\\C++ Projekte\\Metronom\\Bilder\\Bild000"+IntToStr(i)+".bmp"); } }
Ich bekomme folgende Exeption:
EAccessViolation Zugriffsverletzung bei Adresse xxxxxx.
Lesen von Adresse 000001B0Was mache ich denn falsch?
Danke
wNw
-
Hallo
Du hast vermutlich in deinem TImage-Array noch gar keine echten TImage-Instanzen hinterlegt. Schau dir einfach mal in der FAQ hier im Forum im Abschnitt Komponenten benutzen den Thread Dynamische Arrays von Komponenten an.
bis bald
akari
-
Danke akari.
Da hätte ich auch selbst drauf kommen können, mal in den FAQs zu suchen.
Nichts für ungut...
Danke
wNw
-
Nun klappt alles prima.
Ich habe die Vector Variante genommen:void __fastcall TForm1::FormShow(TObject *Sender) { for (int i = 0; i < 5; i++) { Graphics::TBitmap *bmp = new Graphics::TBitmap; bmp->LoadFromFile("G:\\C++ Projekte\\Metronom\\Bilder\\Bild000"+IntToStr(i)+".bmp"); BmpVector.push_back(bmp); } }
Danke nochmal.
wNw