Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Vlakna v delphi

Dobry den.
Je vlákno, které frčí furt dokola.
Potřebují ho s Form resetovat.
Prostě když kliknu ve form třeba na button, aby ve vlaknu proměnná radek byla zas 1 a smyčka začala zase od 1.

repeat
for radek := 1 to Form1.StringGrid1.RowCount do
begin

End;
until (Terminated = True);

Předmět Autor Datum
Na stisk tlacitka vyskocis z cyklu - prikaz Break Tim skocis opet na zacatek Repeat a cyklus FOR pob… nový
Jan Fiala 21.01.2014 11:22
Jan Fiala
K formulárovým prvkom sa z iného než UI vlákna nepristupuje, inak riskuješ nestabilné správanie cele… nový
los 21.01.2014 20:31
los
Nejak mi tam chýba to vlákno - Thread... nový
pme 21.01.2014 20:34
pme
Podle mne je ten kod obsah Thread.Execute Čtení z formuláře ve vláknu není tak kritické. Krititcké… poslední
Jan Fiala 22.01.2014 11:20
Jan Fiala

Na stisk tlacitka vyskocis z cyklu - prikaz Break
Tim skocis opet na zacatek Repeat a cyklus FOR pobezi od zacatku
Musis si zajistit predani informace. Pokud je to jen jedno vlakno, pak se to da resit treba tim, ze tlacitko nastavi StringGrid.Tag na 1, vlakno to zjisti a prerusi FOR cyklus.
Pak v metode Synchronize vynuluje TAG u stringgridu.

K formulárovým prvkom sa z iného než UI vlákna nepristupuje, inak riskuješ nestabilné správanie celej aplikácie. Keď nastane nejaká zmena v StringGride, tak môžeš rovno obslúžiť nejakú udalosť, ktorá nastane - takže nepotrebuješ v slučke neustále prechádzať všetky riadky v StringGride. Zvážil by som, či tam vôbec to ďalšie vlákno potrebuješ.

Zpět do poradny Odpovědět na původní otázku Nahoru