2016-09-08 1 views
0

Ich brauche eine Lösung, und ich bin mir nicht sicher, ob ich genug Wissen habe, um die Frage richtig zu stellen, also bitte, bitte. Ich arbeite mit einer CAD-Anwendung mit einer eigenen API, die das .NET Framework 4.5 unterstützt. Ich wollte einige angepasste Funktionen für die Anwendung mit VB.NET entwickeln, aber aufgrund von Arbeitseinschränkungen bin ich nicht berechtigt, benutzerdefinierte Programme zu installieren oder benutzerdefinierte ausführbare Dateien auszuführen. Ich darf jedoch die Scripting-Umgebung für CAD-Anwendungen verwenden (die auch das .NET Framework unterstützt). Ich bin eingeschränkt in dem, was ich mit Scripting erreichen kann, denn soweit ich weiß, kann ich nicht auf ein Ereignis in einem Skript warten, weil die Laufzeit der Skripte so schnell endet. Gibt es eine Möglichkeit, die Laufzeit eines Skripts bis zum Auftreten bestimmter Ereignisse zu verlängern? Wenn jemand neugierig ist, heißt die von mir verwendete CAD-Anwendung Siemens NX. Irgendwelche Ideen?Auf Ereignisse in einem VB.Net-Skript warten?

+0

Vielleicht sollten Sie fragen, wer diese API geschrieben hat? –

+0

Ja, ich habe versucht, den technischen Support des Unternehmens zu kontaktieren, und die API hat keine Ereignisse, die ich nutzen kann, um das zu tun, was ich möchte. Ich hatte gehofft, dass das Skript ausgeführt und die Ausführung angehalten werden konnte, bis es von Excel ausgelöste Ereignisse wie das Worksheet_SelectionChange-Ereignis erhalten hat. – junfanbl

Antwort

0

Ich weiß nicht, wie weit diese Antwort Ihnen helfen.

Wenn Sie keine zu überwachenden Ereignisse haben, versuchen Sie, sich auf Rückgabevariablen zu verlassen und assert-Anweisungen (oder zumindest if-Anweisungen) zu verwenden.

Ich meine, wenn etwas passiert, dann gehe nur zum nächsten, was eine sehr traditionelle Art ist.

Auch wenn Sie die Laufzeit des Skripts verlängern möchten, können Sie etwas wie "Schlaf" oder "Verzögerung" Anweisungen (kann Millisekunden als Eingabe sein).

Ich meine, wenn etwas passiert (Kontrolle durch eine Variable), "Schlaf", bis diese Aktion abgeschlossen ist.

Oder prüfen Sie den Status der Aktion in einer unendlichen While-Schleife und beenden Sie, wenn es fertig ist.

In einfachen Worten hilft traditionelle Art der Dinge in Ihrer Situation zu helfen.

+0

Nun, die unendliche for-Schleife ist sicherlich eine Idee. Es ist offensichtlich keine ideale Lösung, aber was ich versuche, ist sowieso eher ein Hack. Ich werde es versuchen. Vielen Dank. – junfanbl