Toon posts:

[VB] Hoe VB laten wachten op voltooiing vorige regel code?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het VB-projectje waaraan ik nu werk, roept zo af en toe een extern programma'tje in de achtergrond aan, dat een bepaalde bestandsconversie afhandelt. Tevens zorgt het project voor het kopiëren en verwijderen van dit soort bestandjes.

Misschien voel je mijn probleem nu al aankomen... :Y)

Op een gegeven moment zal het programma een extern programma aanroepen (dmv Shell), dat een zogenaamd .VTR-bestand converteert naar een .TXT-bestand. Daarna wordt het .TXT-bestand gekopieerd naar een andere folder (dmv FileCopy).

Maar wat gebeurt er nu vaak? VB wil het .TXT-bestand al kopiëren, vóórdat het externe programma'tje klaar is met de conversie! Logischerwijs ontstaat error 53, 'file not found', omdat het externe programma'tje nog geen .TXT-bestandje heeft geschreven.

Hoe kan ik VB laten wachten tot het externe programma'tje zijn conversiewerk heeft gedaan, alvorens het de betreffende Sub doorzet? Met andere woorden: hoe laat ik VB wachten op voltooiing van de vorige regel code?

Ik had eerst bedacht dat wellicht een Do Loop Until-loop uitkomst zou bieden, maar in het geval dat de converter niet werkt, kun je een endless loop creëren, omdat hij continu wacht tot het textbestandje bestaat. |:(

Er moet toch echt een manier zijn om VB te laten wachten. Maar hoe? Iemand enig idee?

Als de uitleg van mijn situatie niet helder genoeg is, dan hoor ik het graag... :)

  • KingRichard
  • Registratie: September 2002
  • Laatst online: 17-08 19:31

KingRichard

former Duke of Gloucester

Ik doe dit uit mijn hoofd, ik heb hier geen VB bij de hand, maar volgens mij werkt het zo:
Het commando Shell retourneert een waarde, dit is de TaskID. Als je na het Shell-commando een loopje maakt die controleert of Tasks(TaskID) nog bestaat, ben je klaar dacht ik. Ik zou voor de zekerheid ook een timer inbouwen die na een bepaalde de loop afbreekt, mocht het externe programma vast komen te zitten.

a horse! a horse! my kingdom for a horse! (exeunt)
[got.profile] | [t.net.profile] | [specs]


  • Kappie
  • Registratie: Oktober 2000
  • Laatst online: 11:51

Kappie

Tell me your secrets...

Zoek maar eens op ShellExeAndWait. Dit is een stuk code waarmee je een programma kan aanroepen en wacht totdat deze weer afgesloten is.

Meer info op http://www.markcarter.me.uk/computing/vba/exec.html

[ Voor 25% gewijzigd door Kappie op 23-07-2003 10:31 ]

He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.