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

Вниз

опять blob, stream & array   Найти похожие ветки 

 
belmol   (2009-06-26 05:29) [0]

доброго времени как всегда туплю. в одну сторону вот такой код

Ttempl = array[0..383] of Byte;

var
   templs: ARRAY of Ttempl;

...  RBlobStream:=form1.fingerset.CreateBlobStream(form1.fingerset.FieldByName("TEMLA TE") ,bmReadWrite);
 RBlobStream.WriteBuffer(templs[1], SizeOf(templs[1]));
 form1.fingerset.Post;
все отлично работает..
в обратную сторону вот такое

...
while not Form1.fingerset.Eof do
begin
 tblobfield(Form1.fingerset.FieldByName("TEMLATE")).SaveToStream(RBlobStream);
 RBlobStream.Read(templs[fingerset.RecNo], SizeOf(templs[fingerset.RecNo]));  //-- вот тут вылетает
 Form1.fingerset.Next;
 end;

и не робит, где опять туплю не пойму..


 
Anatoly Podgoretsky ©   (2009-06-26 07:42) [1]


> вот тут вылетает

Может при этом еще что ни будь и говорит


 
Palladin ©   (2009-06-26 08:01) [2]

Почему ты уверен, что в RecNo не -1 ?


 
belmol   (2009-06-26 08:08) [3]

нифига не говорит в том то и дело.. просто идет обрыв всей процедуры.. но ничего не говорит в том то и дело..

потому что я перед
while not Form1.fingerset.Eof do

задаю fingerset.first и записи в датасете точно есть.

правда уу меня есть подозрения что все же вылетает на строчку выше..


 
belmol   (2009-06-26 08:12) [4]

нифига не говорит в том то и дело.. просто идет обрыв всей процедуры.. но ничего не говорит в том то и дело..

потому что я перед
while not Form1.fingerset.Eof do

задаю fingerset.first и записи в датасете точно есть.

правда уу меня есть подозрения что все же вылетает на строчку выше..


 
belmol   (2009-06-26 08:13) [5]

я дико ивиняюсь)) вылетает вот тут
tblobfield(Form1.fingerset.FieldByName("TEMLATE")).SaveToStream(RBlobStream);


 
brother ©   (2009-06-26 08:13) [6]

так отладчиком пройди и узнаешь, где вылетает!


 
brother ©   (2009-06-26 08:14) [7]

> RBlobStream

создан?


 
belmol   (2009-06-26 08:19) [8]

procedure find_fingers.Execute;
var
qual, qual_t,i: integer;
bmp: TBitmap;
DC: HDC;

begin
stop_proc:=false;
// загружаем все что есть...
Form1.fingerset.Active:=false;
Form1.fingerset.SelectSQL.Text:="select * from FINGERS";
try
 Form1.fingerset.Active:=true;
except
   form77.memo1.lines.add("Не могу получить доступ к таблице отпечатков");
end;
Form1.fingerset.First;
 i:=Form1.fingerset.RecNo;
while not Form1.fingerset.Eof do
begin
tblobfield(Form1.fingerset.FieldByName("TEMLATE")).SaveToStream(RBlobStream);// -- вот тут вылетает
 RBlobStream.Read(templ, SizeOf(templ));
 templs[i]:=templ1;
 Form1.fingerset.Next;
 i:=i+1;
end;
i:=1;
// загрузили все пальчики
 { ну вот и начинается страшное)))  }
 if dll_loaded then .....

вот весь кусок


 
brother ©   (2009-06-26 08:22) [9]

ну и где создание уничтожение RBlobStream?
только сразу работа:

> tblobfield(Form1.fingerset.FieldByName("TEMLATE")).SaveToStream(RBlobStre
> am);// -- вот тут вылетает
> RBlobStream.Read(templ, SizeOf(templ));

ни установки размера нифига! что за ...?


 
brother ©   (2009-06-26 08:23) [10]

>   form77.memo1.lines.add("Не могу получить доступ к таблице
> отпечатков");

О_О , это куда такой код пишется?


 
brother ©   (2009-06-26 08:27) [11]

судя по:
> bmp: TBitmap;
> DC: HDC;

ты сканер и анализатор отпечатков пальцев пишеш? может тебе это рано?


 
belmol   (2009-06-26 08:28) [12]

не рано)) необходимость))


 
belmol   (2009-06-26 08:32) [13]

RBlobStream.Create;
RBlobStream.InstanceSize := ??
я правильно понял?


 
Сергей М. ©   (2009-06-26 08:34) [14]


> belmol   (26.06.09 08:19) [8]


Уж сколько раз твердили миру - в VCL-приложении обращения к визуальным VCL-объектам из дополнительных потоков недопустимы !


> tblobfield(Form1.fingerset.FieldByName("TEMLATE")).SaveToStream(RBlobStream);
> // -- вот тут вылетает


И правильно "вылетает": RBlobStream не инициализирована.


 
Сергей М. ©   (2009-06-26 08:35) [15]


> belmol   (26.06.09 08:28) [12]
>
> не рано


Еще как рано)


> я правильно понял?


Ты абсолютно не понял.
Садись за чтение книг, если "необходимость".


 
brother ©   (2009-06-26 08:35) [16]

> templ

setsize + f1

> RBlobStream.InstanceSize := ??

лишнее
и + RBlobStream.free;


 
brother ©   (2009-06-26 08:36) [17]

вообще, согласен с [15]


 
belmol   (2009-06-26 08:40) [18]

злодей))) спасибо )


 
brother ©   (2009-06-26 08:41) [19]

> злодей)))

это ты кому? ;)


 
belmol   (2009-06-26 08:42) [20]

тебе) нет чтоб носом ткнуть сразу .. загвоздка в 1 строке а разговоров аж 3 листа.


 
Сергей М. ©   (2009-06-26 08:43) [21]


> загвоздка в 1 строке


В этой что ли


> доброго времени как всегда туплю. в одну сторону


?


 
belmol   (2009-06-26 08:44) [22]

ну не работал я ни разу со стримами... вот разбираюсь.


 
brother ©   (2009-06-26 08:49) [23]

> вот разбираюсь.

на боевых прогах??? ты скажи куда это пишется, я на заметку возбму...


 
belmol   (2009-06-26 08:50) [24]

все, все, не ругайтесь.. сел и все прочитал
var
RBlobStream:TMemoryStream;
...
begin
...
RBlobStream:=TMemoryStream.Create;
RBlobStream.SetSize(384);

...
RBlobStream.free;
end;

всем за все )))  спасибо.


 
brother ©   (2009-06-26 08:50) [25]

> нет чтоб носом ткнуть сразу

толку? надо понимать, что и для чего... а для этого: [15] самое то. Время потратишь, но база будет...


 
belmol   (2009-06-26 08:52) [26]

не скажу))) просто небольшая база по идентификации путем сравнения того что есть в базе и того что положили на сканер)

я бы не занимался коли не нужда))


 
brother ©   (2009-06-26 08:53) [27]

> просто небольшая база по идентификации путем сравнения того
> что есть в базе и того что положили на сканер)

пальчики конеш)


 
belmol   (2009-06-26 08:54) [28]

а прога не поверите пишется с нуля.. а  не позаимствована..
и самый главный парадокс - работает стабильно))


 
brother ©   (2009-06-26 08:55) [29]

> а прога не поверите пишется с нуля.. а  не позаимствована..
> и самый главный парадокс - работает стабильно))

верим, и главное: я не верю с таким кодом в стабильность!!!


 
belmol   (2009-06-26 08:56) [30]

злой ты брат..))


 
belmol   (2009-06-26 08:56) [31]

120523862 постучи...


 
brother ©   (2009-06-26 08:57) [32]

> 120523862 постучи...

зачем?


 
Сергей М. ©   (2009-06-26 08:57) [33]


> RBlobStream.SetSize(384);


А это зачем ?


 
brother ©   (2009-06-26 08:58) [34]

там весь код: зачем?))))))))))))))


 
Anatoly Podgoretsky ©   (2009-06-26 08:59) [35]


> Время потратишь, но база будет...

А может ей конец придет.


 
brother ©   (2009-06-26 09:01) [36]

> А может ей конец придет.

ээээ, я не про БД, а база знаний в голове)


 
belmol   (2009-06-26 09:01) [37]

Сергей М., а именно без этой строки и не работало....


 
belmol   (2009-06-26 09:02) [38]

смейтесь, смейтесь)))) падонГи


 
Сергей М. ©   (2009-06-26 09:02) [39]


> belmol   (26.06.09 09:01) [37]


Чудны дела твои)


 
brother ©   (2009-06-26 09:02) [40]

Женя, учи мат. часть а? Пригодится!


 
brother ©   (2009-06-26 09:04) [41]

> падонГи

о, крЕвеДкО!)



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

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

Наверх




Память: 0.56 MB
Время: 0.015 c
2-1245754773
Priest
2009-06-23 14:59
2009.08.23
Как правильно работать с палитрой


1-1212311072
Tack
2008-06-01 13:04
2009.08.23
Отключить автопрокрутку в TScrollBox


6-1206045254
anton
2008-03-20 23:34
2009.08.23
навигация в веббраузер


2-1245244901
TheEd
2009-06-17 17:21
2009.08.23
Странное поведение ShowModal...


2-1245775600
marantz85
2009-06-23 20:46
2009.08.23
Как записать в memorystream динамический массив Double -ов?