Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Sztuczny wątek
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004
Sztuczny wątek

Witam.

Jak zaimplementować własną funkcję (procedurę), która będzie działać przez cały czas działania programu niezależnie od tego co robi nasza aplikacja. Chodzi ogólnie o stworzenie niby oddzielnego wątku?

Wiem wiem - można zastosować Timer ale jak go ustawić aby działał cały czas i nie był "odczuwalny" podczas działania aplikacji tzn. aby jej nie spowalniał?

[Post edytowany dnia 21-02-2005 21:32 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

21-02-2005 21:31
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
hicks
raptor user



Typ: moderator
Postów: 279
Zarejestrowany: Apr 2003

Pewien genialny anonim stworzył temat:

A może API

A może za pomocą funkcji API CreateThread. Opis w API-Guide a także na stronie www.allapi.net (choć szczerze mówiąc sam z tego niewiele rozumiem).

Sądze, że to miała być odpowiedź na twój post...

[Post edytowany dnia 23-02-2005 12:47 przez hicks]


_____________________________________________
TLHW Clan member

23-02-2005 12:46
Pokaż profil hicks  Wyślij email do hicks   Odwiedź stronę hicks       2511367
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

No, Hicks, tym razem się nie postarałeś

Bo również na forum jest napisane, że CreateThread nie działa pod VB

Co do procedury działającej w tle, widzę dwa rozwiazania:
1) ActiveX EXE
2) Timer z jakimś sensownym intervalem, nie blokującym pracy całego programu - np. 1000ms


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

23-02-2005 14:06
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Heh no z Timerem to przy 20 milisekundach już czuję blokadę bo umieszczona jest w nim funkcja WaitForSingleObject i ustawiona jest na 10 milisekund a chcaiłbym ustawić ją na duzo więcej dlatego też spróbuję z ActiveX - no chyba że macie jeszcze jakieś inne propozycje

A co do funkcji CreateThread to podobno nie działa na platformach NT czyli m.in. XP

P.S. Pomyśleć że jak miałem kiedyś wykłady z wątków to pomyślałem po cholerę to komu

[Post edytowany dnia 23-02-2005 15:16 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

23-02-2005 15:13
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
hicks
raptor user



Typ: moderator
Postów: 279
Zarejestrowany: Apr 2003


No, Hicks, tym razem się nie postarałeś

Bo również na forum jest napisane, że CreateThread nie działa pod VB

Przepraszam bardzo. Ale wypowiedź o CreateThread NIE JEST MOJA tylko jakiegoś anonima, który odpowiedź na tego posta dał w osobnym temacie co zresztą napisałem... :/


_____________________________________________
TLHW Clan member

23-02-2005 19:18
Pokaż profil hicks  Wyślij email do hicks   Odwiedź stronę hicks       2511367
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

CreateThread nie działa nie tyle pod systemami z rodziny NT tylko w VB6.0 i wczesniejszych. Na platformie NET jest już chyba możliwe jej użycie - tyle ze tam to zabardzo nie ma sensu bo w VB.NET są do tego stworzone dodatkowe, prostrze w implementacji funkcje. Nawiasem mowiąc uważam to za jedną z większych wad VB


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

24-02-2005 02:13
Pokaż profil m-a-x  Wyślij email do m-a-x   
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Problem  rozwiązany - zamiast zwykłego Timera użyłem funkcji SetTimer i KillTimer - Timer utworzony funkcją SetTimer działa o wiele precyzyjniej i szybciej niż kontrolka i nie ma w ogóle "cięć" w czasie działania programu

Pozdrawiam


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

24-02-2005 10:49
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1