Avatar billede tjacob Juniormester
06. juni 2007 - 12:15 Der er 5 kommentarer og
1 løsning

Kan man køre to loops samtidigt?

Det er forsåvidt et principielt spørgsmål, men for at forklare problemet, har jeg lavet følgende testprojekt:

Jeg har to "vinduer" i en form. (Alt er lavet uden kontroller, dvs tegnet direkte på formen).

I disse to vinduer vil jeg simulere en (lang) tekst der scroller nedad vinduet. Dette laver jeg med en Do-Loop løkke der hele tiden gentegner vinduet. Der er indlagt pause (med API Sleep) og DoEvents i løkken. Løkken stoppes med boolsk var der sættes via en knap. Dette fungerer fint. I èen løkke!

Jeg vil gerne lave det i to forskellige loops der styrer hver sit vindue og kører simultant, men når jeg kører den ene stopper den anden og omvendt.

Er det overhovedet muligt at køre to loops samtidigt ("multithread" eller hvad det nu hedder) i VB6?
Avatar billede sjh Nybegynder
06. juni 2007 - 13:29 #1
Avatar billede tjacob Juniormester
06. juni 2007 - 15:11 #2
Tak sjh, en udmærket men noget 'langhåret' artikel. Såvidt jeg kan se er svaret "måske". Han viser at man godt kan køre forkellige objekter (f.eks. forms) mere eller mindre uafhængigt af hinanden i flere threads. -Det kan jeg ikke bruge til så meget.....
Mht til flere tråde rent programmelt (Så man kan køre f.eks. beregninger i baggrunden) er det straks værre. Han henviser til -og forklarer en del om API'en CreateThread, men slutter med at konkludere at man skal lade være med at bruge den o)

Så indtil videre kan jeg ikke rigtigt bruge det.

Eksemplet jeg nævner i spm, kan sagtens laves så det hele styres i et loop, men som jeg starter med at sige, så er det princippet.
Jeg lader lige spm stå en uges tid og ser om der er andre input........
Avatar billede tjacob Juniormester
21. juli 2007 - 21:47 #4
Hej igen SJH

Den sidste der ser interessant ud, men ligner overkill i forhold til de ting jeg skal (skulle) bruge det til (lige nu). Men den er god at have til fremtidig brug, og jeg er faktisk lige gået i gang med et nyt projekt, der involverer massive beregnings loops (der kan vare flere minutter), så jeg kan forudse nu, at det måske bliver nødvendigt med noget multithreading. Vil du lægge et svar, så jeg kan få lukket.
Avatar billede sjh Nybegynder
23. juli 2007 - 15:34 #5
Svar
Avatar billede tjacob Juniormester
01. august 2007 - 14:59 #6
Beklager sjh, den smuttede for mig. Her er dine point......... ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester