![]() |
|
![]() ![]() ![]() |
|
SydeX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.11.2004 Где: Таллинн, Эстония Репутация: нет Всего: нет |
Приветсвтую люди добрые.
Вот какой вопрос. Есть у меня 9 картинок - стоящих в три ряда. (что-то типа галлереи) Проблем, будучи жутко ленивым во всех процедурах которые работают с этим гридом прописывать имя каждого по миллиону раз лень. Сделан массив ссылок на каждый из элементов: TImage * MyImages; TImage MyImages[0] = Form55->Image1; TImage MyImages[1] = Form55->Image2; ... etc. Вроде всё работает - ссылки сохраняются, если меняешь корневые проперти класса TImage тоже всё хоккей, (ну вроде визибл, не-визибл етс). Самое интересное начинается потом - когда нужно загрузить в них картинку. Если обращаюсь по массиву - MyImages[0]->Picture->Bitmap->LoadFromStream(MyStream); Моментально ловлю эксепшн. При этом, если загружаю Image1->Picture->Bitmap->LoadFromStream(MyStream); Дело проходит без проблем. ![]() ![]() ![]() Думал может каким то образом не инициализируются элементы класса. Пробовал так: MyImages[0]->Picture = new TPicture(); MyImages[0]->Picture->Bitmap = new Graphics::Bitmap(); MyImages[0]->Picture->Bitmap->LoadFromStream(MyStream); при этом ловлю эксепшн всё в том же месте. Я в тупике. Может кто нибудь может объяснить, что ему не нравится ? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
а сам Image кто создавать будет?
+ запись TImage MyImages[0] = Form55->Image1; абсолютно неправильная: ты в каждой строке создаеш по массиву. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SydeX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.11.2004 Где: Таллинн, Эстония Репутация: нет Всего: нет |
Погодь _hunter,
В каком плане сам Image ? Я же не создаю новую картинку - я создаю ссылку на имеющийся объект. С массивом ляп понял. Спасибо. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
ссылка то ссылка, но что будет если ты форму закроеш? ( или у тебя код этот в той же форме? )
+ зачем, в таком случае, Picture ( и Bitmap ) создавать? -- они уже в предке созданы должны быть. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SydeX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.11.2004 Где: Таллинн, Эстония Репутация: нет Всего: нет |
Ну закрою - и открою снова, что должно измениться ?
Код в той же форме - объект создаётся по FormCreate при загрузке приложения. Сам по себе никуда не девается закрыта ли форма или нет... кстати, ImageGrid[0] = Form55->Image1; с ссылками...так и не понял Эта строчка (где ImageGrid это тот же MyImages) чем он тебе так не угодил ? Это же массив ссылок (* * - по сути) Где каждая ссылка приравнивается к ссылке на класс. То есть получается массив ссылок на классы. (TImage * Image1 по определению в Form55.h является соответственно ссылкой на класс) Это сообщение отредактировал(а) SydeX - 28.11.2005, 17:11 |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
как эти имаджи создаются я не знаю, но судя по коду они просто болтаются на форме. значит при уничтожении формы и они за компанию грохнутся. а ты где-то будеш продолжать их использовать.
только это мне и не нравится -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |