Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies
Je kan met bijvoorbeel pskill.exe processen killen.
Als je dan een batchje maakt wat er ongeveer zo uitziet:
Pskill moet je even googlen, ook sleep als je die niet op je PC hebt staan.
Als je dan een batchje maakt wat er ongeveer zo uitziet:
code:
1
2
3
| c:\VBprogje.exe sleep 500 c:\pskill VBprogje.exe |
Pskill moet je even googlen, ook sleep als je die niet op je PC hebt staan.
Zijn spaties in de aanbieding ofzo? www.spatiegebruik.nl
PSKill kill ken ik idd wel...
Punt is dat bovenstaand script onderdeel is van een programma en dus geen losstaand programma is
Punt is dat bovenstaand script onderdeel is van een programma en dus geen losstaand programma is
Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies
Allereerst: heb je gekeken op welke regel het programma hangt?
2 mogelijkheden als oplossing:
1. Start je scriptje in een eigen thread en indien nodig destroy je die als hij 'hangt'. (smerige optie)
2. Zoek uit hoe je een timeout kan implementeren in de Open functie (want waarschijnlijk hangt ie daarin).
Van de eerste weet ik zeker dat het werkt, de 2e optie weet ik niet of 'Open' een timeout parameter kent, maar is wel netter om te doen dan botweg een thread beeindigen. Een combinatie van beide opties is ook goed. (dus eerst de 'Open' functie in timeout laten gaan, als dat niet gebeurd, dan de thread beeindigen, wat als het goed is nooit nodig is)
Edit:
Misschien is het nog veel beter om de hele 'Open' functie te vergeten en in plaats daarvan de windows API functie CreateFile te gebruiken, want met SetCommTimeouts kan je dan het timeout gedrag beinvloeden:
Met wat google werk en rondkijken in je help of op msdn.microsoft.com moet je er dan wel kunnen komen. En natuurlijk: post je oplossing hier...
2 mogelijkheden als oplossing:
1. Start je scriptje in een eigen thread en indien nodig destroy je die als hij 'hangt'. (smerige optie)
2. Zoek uit hoe je een timeout kan implementeren in de Open functie (want waarschijnlijk hangt ie daarin).
Van de eerste weet ik zeker dat het werkt, de 2e optie weet ik niet of 'Open' een timeout parameter kent, maar is wel netter om te doen dan botweg een thread beeindigen. Een combinatie van beide opties is ook goed. (dus eerst de 'Open' functie in timeout laten gaan, als dat niet gebeurd, dan de thread beeindigen, wat als het goed is nooit nodig is)
Edit:
Misschien is het nog veel beter om de hele 'Open' functie te vergeten en in plaats daarvan de windows API functie CreateFile te gebruiken, want met SetCommTimeouts kan je dan het timeout gedrag beinvloeden:
code:
1
| CreateFile("LPT1", .... |
Met wat google werk en rondkijken in je help of op msdn.microsoft.com moet je er dan wel kunnen komen. En natuurlijk: post je oplossing hier...
[ Voor 59% gewijzigd door remco_k op 02-05-2007 08:39 ]
Alles kan stuk.
Ik ga er vanavond naar kijken denk ik...
Ik heb het nu zo opgelost/geworkaround dat de gebruiker eerst de juiste poort (of geen poort) moet kiezen.
Ik heb het nu zo opgelost/geworkaround dat de gebruiker eerst de juiste poort (of geen poort) moet kiezen.
Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies