IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @354
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

RIBANA trade - plastové okná

Kvalita v oblasti výplní otvorov. Žalúzie, rolety, sieťky, garážové brány. www.ribanatrade.sk

Zatepliť - Izolovať - Ušetriť.

Zateplenie, ktoré Vám ušetrí najviac -€. Fúkané izolácie ThermiSS od Knauf Insul. www.thermiss.sk

Rozárium Kvetoslavov

Kvalitné pozemky len 15km od BA! Hotové IS, prístupové cesty, osvetlenie. rozariumkvetoslavov.sk

Zaregistruj sa!

Tvoj názor stojí peniaze. Vyplňte dotazník a zarobte si! www.marketagent.com

Ovládate žalúzie ručne?

Ovládanie žalúzií GrapaTEC pre nové aj namontované žalúzie! www.grapatec.com

Zastavenie procesu aplikácie

Zaslať odpoveď
AutorSpráva
SVD
Užívateľ
Užívateľ

Založený: 20.06.2009
Príspevky: 24

PríspevokZaslal: Po 17.08.09 18:25Odpovedať s citátomNávrat hore

Dobrý deň.

Potreboval by som pomôcť s ukončením procesu výpočtu. Jedná sa mi o zastavenie činnosti nejakej dlhotrvajúcej operácie (výpočtu) ktorá by trvala velmi dlaho alebo proste užívatel potrebuje náhle ukončiť činnosť.

Potreboval by som teda zastaviť program počas výpočtu klasickým stlačením tlačitka "Zastaviť".
Na ktiváciu okna je príkaz: Form1.Refresh; ale jeho všetky funkcie teda aj to tlačítko "Zastaviť" sa aktivuje až po ukončení procesu čo je chyba.

Nevie niekto ako alebo akým príkazom by som tyvoril end proces?

Možno sa to bude dať pomocou Application.xxx; len neviem ako mať stále počas výpočtu aktívne to tlačítko "zastaviť".
Zobraziť informácie o autoroviOdoslať súkromnú správu
Fico
Skúsený užívateľ
Skúsený užívateľ

Založený: 11.01.2009
Príspevky: 1052

PríspevokZaslal: Po 17.08.09 18:55Odpovedať s citátomNávrat hore

Ak som pochopil správne, tak: Nech sa procedúra Dlhy_vypocet neustále opakuje, pričom v nej sú výpočty náročne na čas.
kód:

var
  ukoncitVypocet: boolean = false;

procedure Dlhy_vypocet;
begin

repeat
  ...
  (tu su potrebne vypocty)
  ...

  if (ukoncitVypocet) then Exit;
  Application.ProcessMessages;

until koniec;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin

  ukoncitVypocet:= true;

end;

Ak sa stlačí tlačidlo Button1, tak v tele výpočtu sa podmienka if vyhodnotí a teda funkcia Exit okamžite ukončí procedúru Dlhy_vypocet.
(je nutné, aby v danom výpočte bola pridaná aj funkcia Application.ProcessMessages, ktorá príjme prichádzajúce správy, teda aj stlačenie buttonu)
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
SVD
Užívateľ
Užívateľ

Založený: 20.06.2009
Príspevky: 24

PríspevokZaslal: Po 17.08.09 19:10Odpovedať s citátomNávrat hore

Ďakujem Fico, krásne to funguje!
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd