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??
M'n eerste idee is threads. Maar ik weet niet of dat mogelijk is in VB6.... Ik vrees van niet.
https://fgheysels.github.io/
nee, threads zijn in vb6 niet mogelijk
de timer lijkt mij de enige oplossing
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.
Misschien zou je dit kunnen realiseren door een ActiveX EXE te maken die je aanroept. Maar dit weet ik niet zeker.
Ik ben ook eens aan het stoeien geweest met multithreading truukjes in VB6...
Dit topic is toen ontstaan: [VB] Asynchroon: Access Violation
Veel plezier!
Dit topic is toen ontstaan: [VB] Asynchroon: Access Violation
Veel plezier!
[ Voor 1% gewijzigd door baskabas op 10-03-2003 12:36 . Reden: typo ]
Ik hou zelf niet zo van moeilijk doen, ik ga die ene functie gewoon in een losse executable runnen, klaar!!
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 ]
CreateThread valt prima te gebruiken in VB hoor.oisyn schreef op 10 maart 2003 @ 12:23:
nee, threads zijn in vb6 niet mogelijk
de timer lijkt mij de enige oplossing
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
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.johnwoo schreef op 10 maart 2003 @ 20:06:
[...]
CreateThread valt prima te gebruiken in VB hoorZolang 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.
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).
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).
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?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.
Of zit het fout in de het subroutine-callen zelf?
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.
Pagina: 1