[ captPicard @ 26.04.2012. 07:37 ] @
Dakle problem je slijedeći, ispis se vrši pomoću QuickReporta. Nakon ispisa i zatvaranja previewa QuickReporta (nekada se dogodi i dok je još preview aktivan, kao na slici) forma koja poziva report ostaje otvorena i ne može se zatvoriti. Događa se jednom u npr 20-30 računa. Evo slike:



Kod za pozivanje ispisa i zatvaranje forme:

Code:
procedure TFRacun.cmdSnimiClick(Sender: TObject);
begin
....

  QRacun.Preview;
  QRacun.Free;

  Close;
end;


Evo, ako se netko sretao sa sličnim problemom pa me možete uputiti gdje da tražim bio bi zahvalan.
[ savkic @ 26.04.2012. 11:43 ] @
> Dakle problem je slijedeći, ispis se vrši pomoću QuickReporta. Nakon ispisa i zatvaranja previewa QuickReporta (nekada se dogodi i dok je još preview aktivan, kao na slici)

Da li si ti sakrio deo forme ili je to tako ispalo? Ti izgleda ne koristiš modalni previw tako da bi forma trebala da se odmah zatvori.

> forma koja poziva report ostaje otvorena i ne može se zatvoriti. Događa se jednom u npr 20-30 računa. Evo slike:

Zašto posle Preview imaš Free, taj QR treba da je još uvek aktivan.
[ captPicard @ 27.04.2012. 09:26 ] @
Ja sam sakrio dio forme.

QR je aktivan sve dok korisnik ne klikne na Close QR-a ili na crveni X. Sve QR u programu pozivam na ovaj način i svi rade bez problema. Nikada nisam obračao pažnju na to kada se forma zatvara ali sada vidim da se forma zatvori nakon šta se zatvori QR.
[ X Files @ 27.04.2012. 09:46 ] @
Da li to znači da si sada izbacio Free ?
[ captPicard @ 27.04.2012. 09:50 ] @
Ne, kod je kako je gore napisano.

Edit: Free se poziva nakon šta se zatvori Preview, koliko sam ja shvatio.

[Ovu poruku je menjao captPicard dana 27.04.2012. u 11:12 GMT+1]

[Ovu poruku je menjao captPicard dana 27.04.2012. u 11:13 GMT+1]
[ savkic @ 27.04.2012. 12:52 ] @
> Ne, kod je kako je gore napisano.
> Edit: Free se poziva nakon šta se zatvori Preview, koliko sam ja shvatio.

Osim ako se nešto nije promenilo u QR, QR.Preview generiše običnu nemodalnu formu i odmah vraća kontrolu programu što znači da se Free poziva pre nego se preview zatvori. Ako želiš modalni preview onda trebaš koristiti PreviwModal (ili nešto slično).
[ captPicard @ 03.05.2012. 11:29 ] @
Šta se nebi QR zatvorio ako se Free poziva odmah nakon Preview a ako forma nije modalna?
[ X Files @ 03.05.2012. 11:52 ] @
Citat:
captPicard: Šta se nebi QR zatvorio ako se Free poziva odmah nakon Preview a ako forma nije modalna?


Ne bavim se Delphijem, ali imam poneka znanja o VCL-u. Na osnovu koda koji si ostavio, mislim da je greska sto uopste koristis ove dve linije:
QRacun.Free;
Close;

Da li si pokusao samo sa ovakvim kodom:
Code:

procedure TFRacun.cmdSnimiClick(Sender: TObject);
 begin
 ....
   QRacun.Preview;
 end;

... ili ovakvim:
Code:

procedure TFRacun.cmdSnimiClick(Sender: TObject);
 begin
 ....
   QRacun.PreviewModal;
 end;


Pogledaj i primere za Preview u Examples folderu Delphija (DBTasks\MastApp i DBTasks\QuickRpt). Nigde ne vidim Free i Close, nakon upotrebe.

To što program radi na X mesta a ne radi na jednom mestu, nemoj da ti bude vodilja. Pretpostavka je preduslov svih zaIeba, a QR je poznat po tome što ima čudno ponašanje kada je memory management u pitanju ;)

[ captPicard @ 04.05.2012. 08:16 ] @
Hvala XFiles, probati ču samo sa Preview/PreviewModal.

Code:
Close;
služi za zatvaranje forme jer želim da se forma zatvori nakon šta se zatvori QR.