[VB6] Functie aanroepen en verder gaan

Pagina: 1
Acties:

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 01:15
Is het mogelijk in VB6 om in een functie een andere functie aan te roepen en meteen verder te gaan met de code in de 1e functie, dus niet wachten tot de aangeroepen functie klaar is??? Eventueel zou het met wat gezeik via een timer kunnen, maar het lijkt me suf dat je zo een omweg moet maken??

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
M'n eerste idee is threads. Maar ik weet niet of dat mogelijk is in VB6.... Ik vrees van niet.

https://fgheysels.github.io/


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

nee, threads zijn in vb6 niet mogelijk
de timer lijkt mij de enige oplossing

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

In VB6 is het niet mogelijk, dit omdat VB6 werkt met een single-Threades appartment model. Dit houdt dus in dat alles binnen 1 thread word afgehandeld en dus na elkaar op de stack komt te staan.

Misschien zou je dit kunnen realiseren door een ActiveX EXE te maken die je aanroept. Maar dit weet ik niet zeker.

  • baskabas
  • Registratie: December 2000
  • Laatst online: 05-04 12:26
Ik ben ook eens aan het stoeien geweest met multithreading truukjes in VB6...
Dit topic is toen ontstaan: [VB] Asynchroon: Access Violation

Veel plezier! ;)

[ Voor 1% gewijzigd door baskabas op 10-03-2003 12:36 . Reden: typo ]


  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 01:15
Ik hou zelf niet zo van moeilijk doen, ik ga die ene functie gewoon in een losse executable runnen, klaar!!

  • ShadowrunR
  • Registratie: Maart 2002
  • Laatst online: 17-08 20:13
Gaat wel trager, doordat hij eerst die exe moet laden dan... Maar als dat geen bezwaar is dat idd een goeie oplossing :) Alhoewel, hoe wil je dan het resultaat van die fuctie weergeven?

[ Voor 22% gewijzigd door ShadowrunR op 10-03-2003 19:08 ]


  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 09:23

johnwoo

3S-GTE

.oisyn schreef op 10 maart 2003 @ 12:23:
nee, threads zijn in vb6 niet mogelijk
de timer lijkt mij de enige oplossing
CreateThread valt prima te gebruiken in VB hoor :) Zolang je geen extreem ingewikkelde multithreaded applicatie maakt, maar gewoon even 1 worker thread nodig hebt, die verder weinig communiceert met je main thread, gaat dat best werken.

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

johnwoo schreef op 10 maart 2003 @ 20:06:
[...]

CreateThread valt prima te gebruiken in VB hoor :) Zolang je geen extreem ingewikkelde multithreaded applicatie maakt, maar gewoon even 1 worker thread nodig hebt, die verder weinig communiceert met je main thread, gaat dat best werken.
Dus toch... ik wilde dit vanmiddag al posten maar ben zelf niet de grootste held op Visual Bagger-gebied dus liet het oordeel maar even over aan de experts... dan is dit inderdaad ruimschoots de beste oplossing.

Professionele website nodig?


  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

CreateThread werkt fantastisch, zolang je maar geen functies uit allebei de threads gaat aanroepen. Het is namelijk niet echt threadsafe in vb... I can tell. :)

Maar als ik jou was zou ik CreateThread eens in MSDN (de ceedees, als je die hebt) intikken. D'r staan twee erg goede stukken in. Eentje in het boek hardcore VB, laatste hoofdstuk heeft er een item over, en eentje in periodicals 1997 (heeft ook voorbeeldproggies).

Spolap: Interactive webcomic


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

wacco schreef op 10 maart 2003 @ 21:50:
CreateThread werkt fantastisch, zolang je maar geen functies uit allebei de threads gaat aanroepen. Het is namelijk niet echt threadsafe in vb... I can tell. :)
Ja uhm maar nou wil ik niet moeilijk doen, maar als CreateThread perfect werkt, waarom zouden CreateMutex, WaitForSingleObject, CreateSemaphore, ReleaseMutex, EnterCriticalSection and so on niet werken?

Of zit het fout in de het subroutine-callen zelf?

Professionele website nodig?


  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Ehm, ik ben geen expert hoor. All I know is dat als je twee threads hebt in een omgeving die niet threadsafe is (vb) je het geval kan krijgen dat de functievariabelen worden aangepast halverwege het uitvoeren van die functie, omdat het besturingsysteem het nou net zo heeft ingedeeld. Krijg je mooie random getalletjes van.

Spolap: Interactive webcomic

Pagina: 1