Вниз
Скачать: 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]

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



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

Скачать: CL | DM;



Память: 0.53 MB
Время: 0.007 c
8-1196707594
_alex_
2007-12-03 21:46
2009.08.23
Декомпрессоры


15-1245913258
b/@.
2009-06-25 11:00
2009.08.23
К чему может привести частое использование overload функций?


15-1245823916
balepa
2009-06-24 10:11
2009.08.23
Отвалился конденсатор на GF8500


15-1245816012
Дмитрий С
2009-06-24 08:00
2009.08.23
Поиск точки


1-1212574524
SergGG
2008-06-04 14:15
2009.08.23
Номер иконки курсора мыши




   Наверх