Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Blob Download, Скачать фаил с blob поля с ProgressBar 
:(
    Опции темы
Anakin
Дата 5.9.2011, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Добрый вечер.

Опишу ситуацию
Есть MySql сервер и в нём таблица с blob полем в котором хранитса фаил.
На форме стоит ListBox который заполняетса данными с таблици и описанием фаила.

Вот код заполнения ListBox`a
Код

Procedure TfrmShowIncome.select;
var
ini: Tinifile;
id_tt:String;
acp:String;
begin
Ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'Options.ini');
id_tt:=Ini.ReadString('Options','idtt',id_tt);
acp:=Ini.ReadString('Options','accept',acp);
  frmMain.q_select.Close;
  frmMain.q_select.SQL.Clear;
  frmMain.q_select.SQL.Add('SELECT id,name,idtt,accepted FROM t_inc_client');
  frmMain.q_select.SQL.Add('WHERE ((accepted=:Prm1)and(idtt=:Prm2));');
  frmMain.q_select.Params.ParamByName('Prm1').Value:=StrToInt(acp);
  frmMain.q_select.Params.ParamByName('Prm2').Value:=StrToInt(id_tt);
  frmMain.q_select.Open;
  lb_show.Clear;
  while not frmMain.q_select.Eof do
  begin
    lb_show.Items.AddObject(frmMain.q_select.Fields.Fields[1].AsString, Pointer(frmMain.q_select.Fields.Fields[0].AsInteger));
    frmMain.q_select.Next;
  end;
  ini.Free;
End;


Тут код когда когда я тыкаю по заполненому ListBox`u

Код

procedure TfrmShowIncome.lb_showClick(Sender: TObject);
Var
b:Integer;
begin
  frmMain.q_select2.Close;
  frmMain.q_select2.SQL.Clear;
  frmMain.q_select2.SQL.Add('SELECT ID,name,incomdata,code,filename,incomfiles FROM t_inc_client WHERE (ID=:Prm);');
  frmMain.q_select2.Params.ParamByName('Prm').Value:=IntToStr(integer(lb_show.Items.Objects[lb_show.ItemIndex]));
  frmMain.q_select2.Open;
  lbl_data.Caption:=frmMain.q_select2.Fields.Fields[2].AsString;
  lbl_code.Caption:=frmMain.q_select2.Fields.Fields[3].AsString;
  lbl_filename.Caption:=frmMain.q_select2.Fields.Fields[4].AsString;
  blob:=frmMain.q_select2.CreateBlobStream(frmMain.q_select2.FieldByName('incomfiles'), bmRead);
  fname:=frmMain.q_select2.Fields.Fields[4].AsString;
  bsize:=blob.Size;
  b:=1024;
  lbl_size.Caption:=FloatToStr(bsize/b);
  ProgressBar.Position:=Blob.Size;
end;

Когда я тыкаю по списку заполняютса TLable информацией
Тут же я получаю размер blob поля

Но когда я тыкаю по этому ЛистБоксу программа зависает и через какоето время отвисает и все TLable заполняютса.
Такое впечатление что фаил скачивает с сервера после чего его данные заполняютса в Лэиблы.
Я подозреваю что дело в параметре Blob параметре bmRead
Но сут не совсем в этом, в принципе мне известен размер blob поля и я хочу показать на ProgressBare статус скачивания фаила с blob поля.

Подскажите что я делаю не так.
Заранее спасибо.
Думаю всё правильно описал.
PM MAIL   Вверх
Anakin
Дата 12.9.2011, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Всё ещё актуально ((
Кто может сказать где я ошибку допускаю ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.