17.11.2007, 12:16
общий
это ответ
Здравствуйте, RussianGM!
Ну еще б не выдавал ошибку:)) Вы создали массив указателей объектов TImage и пытаетесь к этим объектам обратиться) Предварительно НЕ создав ни один из них))
Грубо говоря адресуемся туда, не знаем куда)
Предварительно вам все таки нужно эти 5 объектов создать и присвоить им владельца (хотя тут не обязательно) ;)
Второй шаг, раз TImage являются визуальными объектами, им само собой следует присвоить родителя (Parent), чтобы эти компоненты отрисовались, иначе вы их нигде не увидите;)
Ну а далее - стандартные манипуляции...
З.Ы. Освобождать память из под них (delete) НЕ нужно, т.к. родитель их сам удалит, при уничтожении самого себя. (особенности VCL).
Пример в приложении...
Успехов!
Приложение:
TImage *Im[5]; int Top = 0, Left = 0; for(int i = 0; i < 5; i++) { Im[i] = new TImage(Form1); //Выделяем память под объект и автоматически передаем в конструктор указатель на владельца (пусть это будет форма Form1) Im[i]->Parent = Form1; //Назначаем родителем нашу форму Form1 //Далее манипуляции по желанию... Im[i]->Picture->LoadFromFile("pic.gif"); Im[i]->Left = Left; Im[i]->Top = Top; Top += 10; Left += 10; }