Autor Téma: Kreslení na form přes vlákno  (Přečteno 544 krát)

(T)lama

  • Host
Kreslení na form přes vlákno
« kdy: 12-01-2006, 16:03:00 »
Dobrý den, potřeboval bych skrz vlákno kreslit text na formulář, ale bez účasti formuláře. Jde to? Jde mi o to, že formulář se zabývá načítáním souborů a já chci vykreslovat kolik procent je hotovo, ale když dám na form label tak se text v labelu při načítání nemění a proto bych to chtěl nějak osloužit vláknem. Pokud má někdo jiný nápad jak to provést tak ho jsem pošlete. Díky

MartinCFM

  • Host
Kreslení na form přes vlákno
« Odpověď #1 kdy: 12-01-2006, 16:08:59 »
Nestaci dat za misto, kde se prirazuje hodnota Labelu
Label.Update;
?

(T)lama

  • Host
Kreslení na form přes vlákno
« Odpověď #2 kdy: 12-01-2006, 17:05:00 »
To je ono. Díky :)

Semi

  • Host
Kreslení na form přes vlákno
« Odpověď #3 kdy: 12-01-2006, 19:58:00 »
Obvykle se to resi obracene:

- Thread nacita data.
- Form zobrazuje, jak uz je to daleko.

Ma to nekolik vyhod:

S formularem se da hybat, da se minimalizovat, neni cely bily neprekresleny, kdyz pres nej vytahnete jiny program a zminimalizujete.

Pri zasahu z threadu na label se obcas stane, ze se text vykresli jinam (na DC(0), tedy na obrazovku vlevo nahore). Nemate v threadu kontrolu, ze se formular prave taky nevykresluje... Blokovat kresleni formulare cekanim na CriticalSection, kterou ma zamcenou thread pro kresleni stejneho formulare je neunosne...


delphian

  • Host
Kreslení na form přes vlákno
« Odpověď #4 kdy: 12-01-2006, 21:29:00 »
Semi ma pravdu,aj podla mna je uplna blbost formom nacitavat data a threadom pisat priebeh.