Zauzimanje resursa !!!

Zauzimanje resursa !!!

offline
  • Pridružio: 03 Nov 2006
  • Poruke: 59

procedure Tdownload.IWButton1Click(Sender: TObject); var  fn:TFileName;      id:integer;      nz:string;      ime:string;      a:boolean; var stream:TStream;     fstream:TfileStream; var pth:string; begin // odredi download path  With TIWuserSession(webapplication.data) do begin          pth:=downloadpath;         end;  if not(p.blobs.Active) then p.blobs.Active:=true;   id:=DataSource2.DataSet.fieldbyname('id').AsInteger;   try     p.blobs.FindKey([id]);        if p.blobs.IsEmpty then begin           WebApplication.ShowMessage('Ne mogu pronaci dokument u bazi');           exit;        end else begin          stream := p.blobs.CreateBlobStream(p.blobs.FieldByName('DMSCONTENT'),bmRead);          stream.Position := 0;  //          ime:= 'DOWNLOAD_'+floattostr(now)+p.IdentFILEEXT.asstring; //          fstream:=TfileStream.Create(pth+ime,fmcreate   );          fstream.CopyFrom(stream,stream.Size);          fstream.Free;       //   Webapplication.SendFile(pth+ime,'',ime,true);          Webapplication.SendFile(pth+ime,true,'',ime);      END     except                  on E:Exception do begin                   p.PorukaKorisniku :='Weblink Greska 00026 -'+'Error in create download stream ';                   p.OpisGreske :=e.Message;                   p.neuspjelakomanda :='';                   p.SnimiGreskuUAlert(p.username,p.neuspjelakomanda,p.PorukaKorisniku,p.OpisGreske);                   WebApplication.ShowMessage(p.PorukaKorisniku);                   end;     end;  // WebApplication.RunParams.Clear; end;


Ljudi, ovo je kod koji imam ne nekom Button-u, rdai se o Web aplikaciji radjenoj u Intraweb tehnologiji i sada sta je problem?
Pa ovako, ovo dugme sluzi za skidanje nekog dokumenta i kada zavrsim sa skidanjem tog dokumenta nesto mi drzi resurse, tako da ne mogu pristupiti nicemu sto se nalazi na formi (stranici) sve dok ne kliknem BACK na html stranici.
Kako ovo mogu da rijesim?

Meni se cini da me ovo zeza.

        fstream:=TfileStream.Create(pth+ime,fmcreate   );          fstream.CopyFrom(stream,stream.Size);          fstream.Free;



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

jassta da te to zeza..
Prvo, TStream nije klasa koju bi trebalo koristiti, ali ajde, moze.

Medjutim, nije samo tu problem
ovako se ne radi
stream := p.blobs.CreateBlobStream(p.blobs.FieldByName('DMSCONTENT'),bmRead);


radi se ovako
ms:=TMemoryStream.Create; try   TBlobField(blobs.FieldByName('DMSCONTENT')).SaveToStream(ms);   ms.position:=0;   ms.SaveToFile('ime fajla'); finally   ms.free; end;



offline
  • Pridružio: 03 Nov 2006
  • Poruke: 59

Beli, hvala na pokusaju, ali nije uspjelo.
Ipak nije do TStream klase, jer sam kasnije pokusao ovako :

bloblibrary.save_blob_to_file(p.blobs.FieldByName('DMSCONTENT'),pth+ime,p.blobs);

Naravno probao sam i tvoju metodu, ali uvjek isto.

Znaci svaki od ovih nacina odradi posao, ali kasnije ne mogu kliknuti niti jedan link ili neku drugu stvar na otvorenoj stranici, sve dok u Internet Exploreru ne kliknem 'Back'. Tada se sve odblokira i mogu normalno da radim.

Dopuna: 21 Mar 2007 9:07

Jos nesto, ovo na DELPHI7 radi nesto drugacije, tamo se sve otvara u Internet Exploreru, pa svakako moram kliknuti na 'Back', da bi se vratio na stranicu odakle mogu da skidam stranice. Dok Borland2006, datoteku otvara, recimo .doc - otvara Word, skenirani dokument - Imaging i tako redom, a stranica u Internet Exploreru ostaje ona sa koje se skidaju te datoteke ili slike...

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Pazi, ja ne znam sta ti oduzima resurse, ali si definitivno pogresio kod preuzimanja BLOBa, radi se kako sam ti napisao.
Sto se ostalog tice, proveri code.

Delphi ima lepe stvarchice kao F5, F7, F8, Ctrl+F7, Ctrl + Alt + S

offline
  • Pridružio: 03 Nov 2006
  • Poruke: 59

Webapplication.SendFile(pth+ime,true,'',ime);

Ovo je uzrok mojih problema, ali bez toga ne mogu.
Ma znam za te lijepe stvarcice, ali nema pomoci od njih, probavao sam 1000 puta.

Ako stavim,

Webapplication.SendFile(pth+ime,false,'',ime);

onda se ponasa kao u delphi7, znaci otvara mi datoteku u Internet Exploreru, ali tada je problem sto pola stvari ne moze da otvori, ne konta ih.

Da li postoji neka slicna funkcija, gore navedenoj da probam sa njom nesto da uradim, ali da nije

WebApplication.SendStream(fstream,true,'',ime);

posto od ove vajde nema.

Dopuna: 22 Mar 2007 15:45

Ljudi, rjesio sam problem.
Naime na formi -> properties -> locksubmit treba staviti False i radi kao zmaj !!!

Ko je trenutno na forumu
 

Ukupno su 869 korisnika na forumu :: 39 registrovanih, 7 sakrivenih i 823 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: aleksmajstor, Apok, bladesu, bokisha253, Cassius Clay, cenejac111, DPera, dragoljub11987, Duh sa sekirom, ekser222, FileFinder, FOX, ivan1973, ivan979, ivica976, JOntra, laurusri, lord sir giga, mercedesamg, milanovic, milenko crazy north, moldway, radoznao, ruger357, sasa87, ser.hill, slonic_tonic, ss10, Steeeefan, Toper, Trpe Grozni, vaso1, VJ, VP6919, YU-UKI, zbazin, zillbg, 125, 79693