3042 писал(а):
1. Правильно ли организовал функцию GetSrc? Т.е. не будет ли такого, что обращаются к несозданному объекту (картинке) или, наоборот, утечки памяти?1. Используй var - избежишь лишнего копирования TData.
THIJanFX.GetSrc(var _Data:TData; needDest:boolean):boolean;
Да и, кажется, в твоем варианте значение из потока будет подаваться на обе точки Bitmap, Bitmap2. Функцию
THIJanFX.GetSrc(_Data,_Data2:TData; needDest:boolean):boolean;
можно сделать как
THIJanFX.GetSrc2(var _Data: TData; needDest: boolean): boolean;
2. Вместо кучи ReadData/_IsBitmap/ToBitmap используй ReadBitmap
#pas
var
Bmp: PBitmap;
begin
Bmp := ReadBitmap(_Data, _data_Bitmap);
if Bmp <> nil then
begin
........
end;
end;
3042 писал(а):
правильно ли то, что Fsrc после выдачи на событие не разрушается ф-цией Free_And_Nil?THIJanFX._work_doSolarize и в других местах писал(а):
Fsrc.Free;
Fdst.Free;