Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.071 c
2-1337677823
leklerk
2012-05-22 13:10
2013.03.22
функция NetMessageBufferSend


15-1337084520
Max
2012-05-15 16:22
2013.03.22
аналог AsProtect


15-1327491723
SPeller
2012-01-25 15:42
2013.03.22
Автоматический ресайз колонок в ListView


2-1334881617
Артём
2012-04-20 04:26
2013.03.22
Отображение страницы


2-1339488057
guest
2012-06-12 12:00
2013.03.22
конвертация ad path...?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский