Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];

Вниз

опять 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.005 c
3-1226034688
Liones
2008-11-07 08:11
2009.08.23
Таблицы Paradox


3-1226375636
Grain
2008-11-11 06:53
2009.08.23
Проверка на блокировку записи


2-1245989782
novai
2009-06-26 08:16
2009.08.23
Директивы компилятора в релизе программы


15-1244210076
Student
2009-06-05 17:54
2009.08.23
Качество кода


2-1246011562
AndrewG
2009-06-26 14:19
2009.08.23
Получить номер элемента в массиве





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский