|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.09.2009, 19:52 | #1 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
TImage в сочетании с new и std::pair
Доброго времени суток!
Пишу сейчас игру (условно говоря - РПГ), решил сделать в ней буфер картинок для централизованного хранения и рисования объектов карты. Картинки храню в ассоциативном массиве, проиндексированном по AnsiString (ID картинки). Сами картинки хранятся в виде битмапов в папке с экзешником. При загрузке картинок возникают проблемы с TImage. Код:
Код:
Код:
Другая проблема - в строке Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
01.10.2009, 05:10 | #2 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Привет Гром!
В данном случаи: Код:
Тоесть нужно так: Код:
#include <мозг.h>
|
01.10.2009, 10:43 | #3 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Руслантус, спасибо большое!)
Вроде бы разобрался!) Только еще вопрос - нужно ли устанавливать Parent для картинки, которая сама по себе не будет видна, и единственное назначение которой - копироваться через CopyRect в PaintBox? (других действий с ней производить пока не планирую) Все-таки никак не могу подружить pair и TImage. Билдер выкидывает ошибку VCL style classes must be constructed using operator new причем посылает меня в _pair.h, а конкретно в строку Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же Последний раз редактировалось Stilet; 05.10.2009 в 09:36. |
05.10.2009, 04:01 | #4 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Гром
Тогда ставить Parent думаю ненужно. Если тебе просто нужно хранить изображение, то используй спец. классы. Лучший вариант это: Код:
Насчёт ошибки с pair, то покажи код.
#include <мозг.h>
|
10.10.2009, 11:24 | #5 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Насколько я понимаю, проблема в том, что в pair для обоих элементов вызывается конструктор, а дельфовские объекты на этапе исполнения должны быть созданы при помощи new, а pair об этом ни сном ни духом, в результате чего и возникает взаимонепонимание...
В варианте с указателями я просто переписал код, добавив где надо звездочек: Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
10.10.2009, 11:27 | #6 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Кажется, и впрямь... Перенес
Код:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
10.10.2009, 14:10 | #7 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Всё верно, delete ведь не указатель удаляет, а освобождает память, на которую он указывает, то есть Вы грузили картинку в память, а затем сразу же удаляли )
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
std::vector | ciaonataha | Общие вопросы C/C++ | 1 | 10.05.2009 15:50 |
проблема с std::ifstream.eof() | alex8 | Общие вопросы C/C++ | 5 | 05.05.2009 18:24 |
std | Викдон | Общие вопросы C/C++ | 3 | 17.02.2009 11:33 |
namespace std; | lacost | Общие вопросы C/C++ | 8 | 22.10.2007 13:17 |
использование using namespace std; | che | Общие вопросы C/C++ | 7 | 11.10.2007 17:13 |