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

Вниз

опшипка   Найти похожие ветки 

 
опшипка   (2012-05-15 21:05) [0]


var
 vBlob: TStream;
 BmpDest: Tbitmap;
begin
 BmpDest := Tbitmap.Create;
 BmpDest.PixelFormat := pf24bit;

 vBlob := ClientDataSet1.CreateBlobStream(ClientDataSet1.FieldByName("Image"), bmRead);
 try
   vBlob.Seek(0, soFromBeginning); // sереход в начало потока BLOB
   // Image1.Picture.Bitmap.LoadFromStream(vBlob);
   BmpDest.LoadFromStream(vBlob);
 finally
   vBlob.Free;
 end;

 result := BmpDest;


First chance exception at $760ED36F. Exception class EOSError with message
"System Error.  Code: 87.
Параметр задан неверно".

vBlob.Free; //вот тут ошибка. как так?


 
Ega23 ©   (2012-05-15 21:41) [1]


> Параметр задан неверно".

и

> vBlob.Free; //вот тут ошибка. как так?


Сильно сомневаюс.


 
Нуилаги   (2012-05-15 22:20) [2]

эм, а де же? если поставить брейк, то он на входе этой процедуры останавливается, следующий шаг в этой строке, и выходит из процедуры и отовсюду


 
Нуилаги   (2012-05-15 22:22) [3]

блин не могут написать язык, который может внятно объяснить где ошибка (


 
Inovet ©   (2012-05-15 22:28) [4]

> [3] Нуилаги   (15.05.12 22:22)

Попробуй русский


 
antonn ©   (2012-05-15 22:35) [5]

vBlob.position:=0;
BmpDest.LoadFromStream(vBlob);

?


 
Ega23 ©   (2012-05-15 22:59) [6]

var
 bs: TBlobStream;
begin
 bs := TBlobStream.Create(CDS.fields[0] as TBlobField, bmRead);
 try
   bs.Position := 0;
   bmp.LoadFromStream(bs);
 finally
   bs.Free;
 end;
end;


 
Нуилаги   (2012-05-15 23:06) [7]

не как бы код работает, но в один и сотен прекрасных моментов вылетает по этой ошибке. Засунул vBlob := ClientDataSet1.CreateBlobStream(ClientDataSet1.FieldByName("Image"), bmRead);

под try и исправил баг у освобождением картинки которую эта процедура возвращает и че то не ругается...


 
Inovet ©   (2012-05-15 23:16) [8]

> [7] Нуилаги   (15.05.12 23:06)
> но в один и сотен прекрасных моментов вылетает по этой ошибке

Ошибка в другом месте.


 
Ega23 ©   (2012-05-15 23:19) [9]

System Error.  Code: 87.  Out of system resources.
Ни о чём не говорит?


 
Нуилаги   (2012-05-16 00:00) [10]

ну память кончается, это факт. т.к. не все утечки отловлены. Но в моем случае он ведь о каком то параметре пишет (


 
Ega23 ©   (2012-05-16 00:03) [11]


> ну память кончается, это факт. т.к. не все утечки отловлены.


Ну так отлови


 
Anatoly Podgoretsky ©   (2012-05-16 00:20) [12]

> опшипка  (15.05.2012 21:05:00)  [0]

vBlob Пушкин будет память освобождать?


 
Ega23 ©   (2012-05-16 00:34) [13]


> vBlob Пушкин будет память освобождать?


vBlob он освобждает. А вот  BmpDest - скорее всего нет


 
Германн ©   (2012-05-16 01:28) [14]


> А вот  BmpDest - скорее всего нет
>

И я даже догадываюсь почему.


 
Нуилаги   (2012-05-16 02:02) [15]

хех, я еще в 7 посте написал, что bmpDest уже освобождаю я, а вы все не угомонитесь )


 
Нуилаги   (2012-05-16 02:05) [16]

хотя конечно есть вопрос относительно того, как это правильно делать...


 
Германн ©   (2012-05-16 02:34) [17]


> Нуилаги   (16.05.12 02:02) [15]
>
> хех, я еще в 7 посте написал, что bmpDest уже освобождаю
> я, а вы все не угомонитесь )

Сначала покажи код, в котором ты сию функцию из [0] вызываешь и тот код, в котором ты "освобождаешь" bmpDest.


 
KilkennyCat ©   (2012-05-16 02:51) [18]

BmpDest := Tbitmap.Create;
try
....


 
KilkennyCat ©   (2012-05-16 02:57) [19]


>  result := BmpDest;

разве это корректно?


 
Германн ©   (2012-05-16 02:59) [20]


> KilkennyCat ©   (16.05.12 02:57) [19]
>
>
> >  result := BmpDest;
>
> разве это корректно?

А почему бы и нет?


 
KilkennyCat ©   (2012-05-16 03:23) [21]

не знаю, но смущает. а зачем вообще BmpDest при наличии result: TBitmap?


 
Ega23 ©   (2012-05-16 08:04) [22]


> разве это корректно?


Ну как бы есть такой приём. только в случае чего надо nil возвращать, а там где используешь - проверять на <> nil.


> а зачем вообще BmpDest при наличии result: TBitmap?


Ну тут много чего таких вопросов вызывает.


> хех, я еще в 7 посте написал, что bmpDest уже освобождаю
> я, а вы все не угомонитесь )


Стиль Йоды написанья языком доступен мало мне


 
sniknik ©   (2012-05-16 08:16) [23]

> а вы все не угомонитесь )
написано в правилах, не менять ники, не офтопить в чужих темах, не... а вы все не угомонитесь.



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

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

Наверх




Память: 0.51 MB
Время: 0.184 c
15-1348042361
Просто_Андрей
2012-09-19 12:12
2013.03.22
Какой SSD выбрать


15-1351694777
Handler
2012-10-31 18:46
2013.03.22
как будет на английском


6-1265872619
Den
2010-02-11 10:16
2013.03.22
No route to host


15-1350625811
Андрей Парамонов
2012-10-19 09:50
2013.03.22
TFastDIB 64bit


2-1344669607
Наивный
2012-08-11 11:20
2013.03.22
FreeAndNil, пожалуйста, еще раз.