Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TStream


datorn ©   (2008-07-30 19:02:00) 

Доброго времени  суток, мастера! Подскажите, что не так. На форме есть два image и кнопка. Нужно, чтобы по нажатию кнопки содержимое одного image копировалось в другой, используя Tstream. Однако появляется ошибка EAccessViolation. Что не так?

var
m:Tstream;
begin
m:=tmemorystream.Create;
image1.Picture.Graphic.SaveToStream(m);
image2.Picture.Graphic.LoadFromStream(m);
m.free;


Amoeba   (2008-07-30 23:10:00) [1]


> На форме есть два image и кнопка. Нужно, чтобы по нажатию
> кнопки содержимое одного image копировалось в другой, используя
> Tstream.
>

А методом Assign скопировать религия не позволяет?

image2.Picture.Graphic.Assign(image1.Picture.Graphic)


Datorn   (2008-07-30 22:02:00) [2]

Ура, допёр! Теперь всё работает. Всем спасибо.

var
m:Tstream;
begin
m:=tmemorystream.Create;
image1.Picture.Graphic.SaveToStream(m);
Image2.Picture.Graphic := TBitmap.Create; image2.Picture.Graphic.LoadFromStream(m);
m.free;


Anatoly Podgoretsky   (2008-07-30 21:00:00) [3]

До чего же доводит страх реальных данных.


datorn   (2008-07-30 20:27:00) [4]

О, и вправду (я и не близнецы вовсе)! Прошу пардон, даже не помню свои регистрационные данные (поля заполнял от балды).


Сергей М.   (2008-07-30 20:11:00) [5]


> не понял насчёт 40-летней персоны


Здрасть !)

Цитирую твою анкетку:

Login: datorn
E-mail: datorn@yandex.ru
Реальное имя: Damien
Дата рождения: 06.06.19 66знак зодиака: Близнецы
Пол: Мужской
Образование: высшее

Как понимать тебя, Саид ?


datorn   (2008-07-30 20:06:00) [6]

Спасибо! Правда не понял насчёт 40-летней персоны, ну, да не важно :)


Сергей М.   (2008-07-30 19:59:00) [7]

Носи не стаптывай)

И учись уже гуглить:

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 19:55:00) [8]

Спасибо за совет, о Мастер!


Сергей М.   (2008-07-30 19:53:00) [9]


> чё мне делать!?


Читать букварь по делфи, стандартную справку, факи и пр. и пр.

Короче, не чекать в сиюсикундном желании добиться сиюсекундного результата, а учиться, учиться и учиться, как завещал великий Дед Крупский)


datorn   (2008-07-30 19:48:00) [10]

Так чё мне делать!?


Сергей М.   (2008-07-30 19:41:00) [11]

Короче, Склифософский, у тебя объект, на который ссылается св-во Graphic объекта Image2.Picture, не существует.


Сергей М.   (2008-07-30 19:35:00) [12]

Потому что отладчик не знает, где объявлен этот идентификатор.


datorn   (2008-07-30 19:29:00) [13]

Ну, выдал мне отладчик - Undeclared identifier: 'image2' - а почему?


Сергей М.   (2008-07-30 19:27:00) [14]


> не знаю я, что делать


Изучать возможности отладчика - вот что.

Иначе так и будешь получать граблями по лбу и канючить здесь подсказки для ребят дошкольного возраста)


datorn   (2008-07-30 19:25:00) [15]

m.position:=0 в моем коде есть, забыл эту строку написать в форуме


datorn   (2008-07-30 19:24:00) [16]

А каковы должны мои действия? Отладчик, говорит, что идёт обращение к памяти, к которой обращение запрещено. Так у меня, вроде, объект существует. Аналогичный код приминительно к Memo (memo1.Lines.SaveToStream(m); memo2.Lines.LoadFromStream(m)) работает. В общем, не знаю я, что делать


antonn   (2008-07-30 19:22:00) [17]

m.position:=0; ?
:)


Сергей М.   (2008-07-30 19:15:00) [18]

И ?

Твоидействия по выяснению причины, подсказанной отладчиком каковЫ?


datorn   (2008-07-30 19:13:00) [19]

Отладчик указывает на строку image2.Picture.Graphic.LoadFromStream(m);


Сергей М.   (2008-07-30 19:10:00) [20]


> Что не так?


Разве отладчикмолчит ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо