Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизопшипка Найти похожие ветки
← →
опшипка (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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.112 c