Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.19;
Скачать: CL | DM;

Вниз

Удаление объекта после Assign   Найти похожие ветки 

 
@!!ex ©   (2009-05-23 13:13) [0]

Загружаю TJPEGImage после чего делаю TBitMap.Assign(TJPEGImage) и TBitMap далее используется.
Вопрос:
Можно ли после этого удалить TJPEGIMage?


 
sniknik ©   (2009-05-23 13:23) [1]

а чего нет? assign это же не присвоение указателя/обьекта это копирование его содержимого. (для гарантии посмотреть конкретную реализацию у TBitMap)


 
@!!ex ©   (2009-05-23 13:24) [2]

> [1] sniknik ©   (23.05.09 13:23)

Assign тока объекты ссылки копирует... Вот и не понятно, толи можно толи нельзя...


 
sniknik ©   (2009-05-23 13:36) [3]

> Assign тока объекты ссылки копирует...
сомневаюсь...

> Вот и не понятно, толи можно толи нельзя...
удали и посмотришь, AV есть? или еще лучше очисть его... если ссылка то и TBitMap будет пустым.


 
@!!ex ©   (2009-05-23 13:45) [4]

> [3] sniknik ©   (23.05.09 13:36)
> сомневаюсь...

http://www.delphisources.ru/pages/faq/base/method_assign.html


 
@!!ex ©   (2009-05-23 13:45) [5]

> [3] sniknik ©   (23.05.09 13:36)
> удали и посмотришь, AV есть? или еще лучше очисть его...
> если ссылка то и TBitMap будет пустым.

удали и посмотришь, AV есть? или еще лучше очисть его... если ссылка то и TBitMap будет пустым.

Я не могу сейчас проверить. Пишу болванку, которую можно будет только позднее протестировать.


 
Игорь Шевченко ©   (2009-05-23 14:50) [6]


> Можно ли после этого удалить TJPEGIMage?


можно


 
clickmaker ©   (2009-05-25 11:55) [7]

> Assign тока объекты ссылки копирует

сам-то как думаешь: копирование ссылки достаточно, чтобы превратить jpeg в bitmap?


 
@!!ex ©   (2009-05-25 14:00) [8]

> [7] clickmaker ©   (25.05.09 11:55)
> сам-то как думаешь: копирование ссылки достаточно, чтобы
> превратить jpeg в bitmap?

Я думаю что нельзя. :)
В том то и дело, что я не доконца понимаю этот механизм, поэтому и решил спросить, чтобы избежать АВ и утечек памяти.

P.S.
ДОшел до стадии тестирования. Вроде уничтожение JPEG не сказывается отрицательно и АВ не вызывает.


 
Игорь Шевченко ©   (2009-05-25 14:03) [9]


> В том то и дело, что я не доконца понимаю этот механизм


а исходники стер, чтобы враг не подсмотрел ?


 
Ega23 ©   (2009-05-25 14:18) [10]


> Загружаю TJPEGImage после чего делаю TBitMap.Assign(TJPEGImage)
> и TBitMap далее используется.
> Вопрос:
> Можно ли после этого удалить TJPEGIMage?


В данной ситуации - можно

var
 bmp : TBitmap;
 jpg : TJPEGImage;
begin
 bmp := TBitmap.Create;
 try
   jpg := TJPEGImage.Create;
   try
      jpg.LoadFrom.....  ;
      bmp.Assign(jpg);
   finally
     jpg.Free;
   end;

   // работаем с bmp
 finally
   bmp.Free;
 end;
end;



 
@!!ex ©   (2009-05-25 14:50) [11]

> [9] Игорь Шевченко ©   (25.05.09 14:03)
> а исходники стер, чтобы враг не подсмотрел ?

У TJPEGImage нет исходников. Во всяком случе в Explorer"e


 
MBo ©   (2009-05-25 15:03) [12]

>@!!ex ©   (23.05.09 13:24) [2]
>Assign тока объекты ссылки копирует...

В справке же сказано:

The assignment operator makes Destination reference the same object as Source, whereas the Assign method copies the contents of the object referenced by Source into the object referenced by Destination.

И твоя ссылка в [4] в общем-то то же самое перепевает.


 
DVM ©   (2009-05-25 15:20) [13]


> @!!ex ©   (25.05.09 14:50) [11]


> У TJPEGImage нет исходников.

Не у TJPEGImage, а у модуля jpeg. Да и они есть, если поискать, только не в составе Delphi.


 
DVM ©   (2009-05-25 15:25) [14]


> @!!ex ©   (25.05.09 14:50) [11]

вот тут исходник модуля:

http://www.delphikingdom.com/asp/answer.asp?IDAnswer=36400



Страницы: 1 вся ветка

Текущий архив: 2009.07.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
3-1224219776
Аврам
2008-10-17 09:02
2009.07.19
структура бд


15-1242477814
KilkennyCat
2009-05-16 16:43
2009.07.19
Американцы, похоже, совсем едут на негрополиткорректности.


15-1242483476
@!!ex
2009-05-16 18:17
2009.07.19
Как сделать Shared секцию в dll на дельфи?


6-1204447183
q1Onik
2008-03-02 11:39
2009.07.19
Как преобразовать POST запрос в GET


3-1224016012
Раиса
2008-10-15 00:26
2009.07.19
Create User выдает ошибку...