[VB] Exitcode macro/script

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bokkiewok
  • Registratie: Juni 2001
  • Laatst online: 07-11-2024
Hello tweakers,

Ik zit met een probleempje...Ik wil op een linux systeem een benchmark draaien. Het betreft een bepaalde applicatie (hfss, een of ander ontwerp tool voor IC's). Ik ben zelf geen designer maar linux/unixsysteembeheerder. De benchmark is een script/macro in VB die een design bouwt.Echter, ik zou graag zien dat nadat het design is gebouwd in de applicatie, de applicatie afsluit. Hiermee kan ik dan de tijd meten die het duurt om het design te bouwen. De applicatie word vanaf de command line opgestart met als optie dat hij het vbscript 'afspeelt' waarmee het design word gebouwd.

Ik kan mijn weg goed vinden in shell scripting, maar van VB heb ik geen kaas gegeten.
Ik heb diverse mogelijkheden (via google) geprobeerd, maar deze werken niet. Waarschijnlijk omdat ik iets verkeerd doe. Wat heb ik geprobeerd:

Wscript.Quit(1) als laatste regel. Het design word dan gebouwd, en ik krijg daarna een foutmelding:
Script error [Code 800a01a8] in file /path/to/vbsfile
Description: Object required 'Wscript'
Lin(4669): 'Wscript.Quit(1)'
Cause: Microsoft VBscript runtime error

Variaties hierop (andere errorcode, zonder errorcode geven hetzelfde resultaat)

end als laatste regel: Het design word niet gebouwd en krijg meteen een foutmelding:
Script error [Code 800a0400] in file /path/to/vbsfile
Description: Expected statement
Lin(4669): 'end'
Cause: Microsoft VBscript compilation error

google verwijst me vaak naar wscript, maar dat schijnt hier dus niet te werken.

Als iemand een idee heeft hoe ik dit kan oplossen dan houd ik me aanbevolen.
Ik kan het vbscript helaas niet posten, aangezien de kans bestaat dat hier gevoelige informatie in zit.

cheers,
bokkiewok

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bokkiewok schreef op vrijdag 03 december 2010 @ 14:11:
Ik kan het vbscript helaas niet posten, aangezien de kans bestaat dat hier gevoelige informatie in zit.
Onzin. Dan kijk je even voor je op post ramt wat er gevoelig is en dat strip je eruit of vervang je door XXX. En als je dan code gaat posten, post dan a.u.b. enkel relevante(!!) code.

Ik verwacht overigens dat de applicatie waarin je de macro draait een .Quit moet supporten; en dan lijkt me iets als Application.Quit() MyApplication.Exit() of iets dergelijks voor de hand liggend, maar dat is dus afhankelijk van de implementatie die de vendor eraan gegeven heeft. Maar voor 'tzelfde geld wordt een Quit dus helemaal niet ondersteund. Als je even aangeeft wélke applicatie het hier over gaat zou ook handig zijn ;)

En hoe zit 't met documentatie van die tool? Is daar niets in te vinden?

[ Voor 57% gewijzigd door RobIII op 03-12-2010 14:32 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • bokkiewok
  • Registratie: Juni 2001
  • Laatst online: 07-11-2024
Hoi RobIII

Nee, dat is geen onzin. Het gaat hier om ontwerpen van IC's waar patenten op rusten. Die ga ik dus niet zomaar posten op een openbaar forum.

Wat betreft de applicatie, dat had ik aangegeven. Het betref de applicatie HFSS van Ansoft.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bokkiewok schreef op vrijdag 03 december 2010 @ 14:24:
Hoi RobIII

Nee, dat is geen onzin.
Ja dat is het wél ;)

Je kunt zaken die ons niets aan gaan gewoon achterwege laten of vervangen met dummy data. Daarbij vragen we niet om het héle 4669 regels tellende script (alsjeblieft niet zeg) maar om relevante delen ervan. Dat zijn delen die relevant zijn voor je probleem; niet de delen waar het ontwerp of whatever gebeurt. Maar gezien je enkel een Quit probeert uit te voeren met een exitcode lijkt het me dat er verder weinig relevants in kan staan. Het ging me er dan ook meer om dat je zegt iets niet te kunnen posten omdat het data zou bevatten die ons niet aan gaat...

code:
1
2
3
myaccount = "RobIII";
mypassword = "foobar";
myobject = dosomething(); // <- Hier zit mijn probleem: X gebeurt terwijl ik Y verwacht

Voila; zonder dat ik mijn daadwerkelijke wachtwoord weggeef toch relevante code gepost.
bokkiewok schreef op vrijdag 03 december 2010 @ 14:24:
Wat betreft de applicatie, dat had ik aangegeven. Het betref de applicatie HFSS van Ansoft.
Dat was me niet helemaal duidelijk uit je startpost; hfss leek me meer een "techniek" dan een daadwerkelijke applicatienaam :P

Anyway: Wat zegt Ansoft of de documentatie over een het wel/niet bestaan van een Quit-achtige functie?

[edit]
Ik vond al vrij snel iets wat mogelijk relevant (PDF) is voor je (en mogelijk niet).
Zie pagina 4-7 (52): QuitApplication(). Die accepteert echter geen exitcode parameter oid. Ook is er een runscriptandexit (pagina 2-6 / 36)

[ Voor 14% gewijzigd door RobIII op 03-12-2010 14:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • bokkiewok
  • Registratie: Juni 2001
  • Laatst online: 07-11-2024
Goed, we hebben een verschil van mening. Zoals ik al zei, ik moet de benchmark draaien, maar heb geen flauw benul wat de code inhoud. Vanuit die optiek en in de wetenschap dat er patenten kunnen rusten op een ontwerp ga ik source code niet posten. Ook niet eventuele aangepaste code.

Enfin, dat gezegd hebbende, ik ben een stapje verder.
Ik ben in de app gaan zoeken en heb naar aanleiding van je vorige post gevonden dat de applicatie gestopt een exit kan krijgen met 'oDesktop.QuitApplication'.

Als ik nu het script draai, krijg ik na de opbouw een popup met de melding
"The script will be stopped after the currently executing script instruction. If a solve is currently executing, you may want to abort the solve. If the script is paused, it will be stopped immediately"

Als ik op OK klik, dan springt ie terug naar de command line. Nu dus die OK nog zien te vermijden.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bokkiewok schreef op vrijdag 03 december 2010 @ 14:38:
Goed, we hebben een verschil van mening. Zoals ik al zei, ik moet de benchmark draaien, maar heb geen flauw benul wat de code inhoud. Vanuit die optiek en in de wetenschap dat er patenten kunnen rusten op een ontwerp ga ik source code niet posten. Ook niet eventuele aangepaste code.
Als je niet weet te extraheren welke delen relevant zijn en welke niet en waar gevoelige data in staat en waar niet moet je je denk ik eens afvragen waarom je überhaupt in die code zit ;) Ik bedoel dit niet lullig (echt niet) maar ik zou er nachtmerries van hebben als iemand in mijn code zat te werken terwijl diegene geen benul had van basis programmeerkennis noch wat relevant is en wat niet.
bokkiewok schreef op vrijdag 03 december 2010 @ 14:38:
Als ik nu het script draai, krijg ik na de opbouw een popup met de melding
"The script will be stopped after the currently executing script instruction. If a solve is currently executing, you may want to abort the solve. If the script is paused, it will be stopped immediately"

Als ik op OK klik, dan springt ie terug naar de command line. Nu dus die OK nog zien te vermijden.
Gezien QuitApplication geen parameters accepteert zou ik mijn hoop vestigen op een "ConfimExit" property ofzo dat je op false kunt zetten van het oDesktop object (maar even vlug door de PDF kijkende zie ik iets dergelijks niet zo 1 2 3 staan). Heb je nog iets aan de runscriptandexit ? En nogmaals: wat zegt Ansoft support?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • bokkiewok
  • Registratie: Juni 2001
  • Laatst online: 07-11-2024
Ik kan je eigenlijk geen ongelijk geven....Ik krijg echter die benchmark op mijn bord gegooid, en de designer die em heeft gemaakt geeft voor nu niet thuis. Deze designs worden vaak vanuit andere tooling weer gegenereerd / geconverteerd. Complexe materie, maar ik moet het er maar mee doen.

Ik ga nog even verder pluizen. In ieder geval bedankt voor je feedback, het heeft me wel verder geholpen.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Misschien als je EnableAutosave (pagina 4-3) op true zet dat 'ie bij QuitApplication niet meer zeurt. En misschien moet je daarna eerst nog een CloseProject (p 4-2) oid. doen. Of een andere combinatie ervan. Ik verwacht eigenlijk dat de macro net zo reageert als de applicatie zou doen zou je 'm met de muis bedienen dus als je 'm met de muis weet te sluiten zonder confirmatie is het daarna een kwestie van diezelfde stappen scripten. Andere zaken om eens te bekijken: CloseAllWindows (p 4-2) en Close (p 5-2)

En kijk eens of er een PauseScript ergens in de macro voorkomt (p 4-7). Dat zou de dialogbox verklaren. Nog een optie: Misschien zit er ergens in de opties van het programma een "Confirm before exit" ofzo die je kunt uitvinken.

[ Voor 25% gewijzigd door RobIII op 03-12-2010 15:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • bokkiewok
  • Registratie: Juni 2001
  • Laatst online: 07-11-2024
OK, Ik heb het gevonden.
Het was een parameter die je op de commandline meegeeft, te weten
-RunscriptAndExit

Het werkt nu zoals ik het wil : :D :D :D

cheers,
Bokkiewok

[ Voor 15% gewijzigd door bokkiewok op 03-12-2010 16:03 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bokkiewok schreef op vrijdag 03 december 2010 @ 16:01:
OK, Ik heb het gevonden.
Het was een parameter die je op de commandline meegeeft, te weten
-RunscriptAndExit
RobIII in "[VB] Exitcode macro/script" ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1