Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
ВнизTStream Найти похожие ветки
← →
datorn © (2008-07-30 19:02) [0]Доброго времени суток, мастера! Подскажите, что не так. На форме есть два image и кнопка. Нужно, чтобы по нажатию кнопки содержимое одного image копировалось в другой, используя Tstream. Однако появляется ошибка EAccessViolation. Что не так?
var
m:Tstream;
begin
m:=tmemorystream.Create;
image1.Picture.Graphic.SaveToStream(m);
image2.Picture.Graphic.LoadFromStream(m);
m.free;
← →
Сергей М. © (2008-07-30 19:10) [1]
> Что не так?
Разве отладчик молчит ?
← →
datorn © (2008-07-30 19:13) [2]Отладчик указывает на строку image2.Picture.Graphic.LoadFromStream(m);
← →
Сергей М. © (2008-07-30 19:15) [3]И ?
Твои действия по выяснению причины, подсказанной отладчиком каковЫ ?
← →
antonn © (2008-07-30 19:22) [4]m.position:=0; ?
:)
← →
datorn © (2008-07-30 19:24) [5]А каковы должны мои действия? Отладчик, говорит, что идёт обращение к памяти, к которой обращение запрещено. Так у меня, вроде, объект существует. Аналогичный код приминительно к Memo (memo1.Lines.SaveToStream(m); memo2.Lines.LoadFromStream(m)) работает. В общем, не знаю я, что делать
← →
datorn © (2008-07-30 19:25) [6]m.position:=0 в моем коде есть, забыл эту строку написать в форуме
← →
Сергей М. © (2008-07-30 19:27) [7]
> не знаю я, что делать
Изучать возможности отладчика - вот что.
Иначе так и будешь получать граблями по лбу и канючить здесь подсказки для ребят дошкольного возраста)
← →
datorn © (2008-07-30 19:29) [8]Ну, выдал мне отладчик - Undeclared identifier: "image2" - а почему?
← →
Сергей М. © (2008-07-30 19:35) [9]Потому что отладчик не знает, где объявлен этот идентификатор.
← →
Сергей М. © (2008-07-30 19:41) [10]Короче, Склифософский, у тебя объект, на который ссылается св-во Graphic объекта Image2.Picture, не существует.
← →
datorn © (2008-07-30 19:48) [11]Так чё мне делать!?
← →
Сергей М. © (2008-07-30 19:53) [12]
> чё мне делать!?
Читать букварь по делфи, стандартную справку, факи и пр. и пр.
Короче, не чекать в сиюсикундном желании добиться сиюсекундного результата, а учиться, учиться и учиться, как завещал великий Дед Крупский)
← →
datorn © (2008-07-30 19:55) [13]Спасибо за совет, о Мастер!
← →
Сергей М. © (2008-07-30 19:59) [14]Носи не стаптывай)
И учись уже гуглить:
http://www.google.com/search?hl=ru&q=Picture.Graphic+Access+Violation&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru
Не пристало 40-летней персоне, имеющей ВО и занявшейся программингом, не уметь искать и анализировать общедоступную инф-цию самоcтоятельно)
← →
datorn © (2008-07-30 20:06) [15]Спасибо! Правда не понял насчёт 40-летней персоны, ну, да не важно :)
← →
Сергей М. © (2008-07-30 20:11) [16]
> не понял насчёт 40-летней персоны
Здрасть !)
Цитирую твою анкетку:
Login: datorn
E-mail: datorn@yandex.ru
Реальное имя: Damien
Дата рождения: 06.06.1966 знак зодиака: Близнецы
Пол: Мужской
Образование: высшее
Как понимать тебя, Саид ?
← →
datorn © (2008-07-30 20:27) [17]О, и вправду (я и не близнецы вовсе)! Прошу пардон, даже не помню свои регистрационные данные (поля заполнял от балды).
← →
Anatoly Podgoretsky © (2008-07-30 21:00) [18]До чего же доводит страх реальных данных.
← →
Datorn © (2008-07-30 22:02) [19]Ура, допёр! Теперь всё работает. Всем спасибо.
var
m:Tstream;
begin
m:=tmemorystream.Create;
image1.Picture.Graphic.SaveToStream(m);
Image2.Picture.Graphic := TBitmap.Create; image2.Picture.Graphic.LoadFromStream(m);
m.free;
← →
Amoeba © (2008-07-30 23:10) [20]
> На форме есть два image и кнопка. Нужно, чтобы по нажатию
> кнопки содержимое одного image копировалось в другой, используя
> Tstream.
>
А методом Assign скопировать религия не позволяет?image2.Picture.Graphic.Assign(image1.Picture.Graphic)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.052 c