2017-06-21 13 views
-1

Vorwort & Reasoning:

Ich bin daran interessiert, ein wenig Wissen über das Thema zu gewinnen, habe ich immer vermeiden wollte, Events in vb.Aufruf ein Unterprogramm von einem Ereignisse

Ich verwende nicht VBA, aber die Sprache ist sehr ähnlich (ohne die Office-spezifische Referenzen), und in der Tat, die Dokumentation wird diese:

„AccuTerm enthält eine leistungsstarke Skriptsprache ähnlich dem beliebtes Microsoft Visual Basic Programming System Applications Edition (VBA) ... VBA "“

ich habe für den Aufruf der Skriptsprache vor hier vor gescholten worden", aber das wäre, warum. Jede Antwort, die die VBA-Sprache verwendet, funktioniert, solange sie keine anwendungsspezifischen Antworten hat, wie zum Beispiel: Application. oder ActiveSheet. sowie ihre Konstanten. (Ich werde auch Late Binding für die meisten Objekte verwenden, wenn nötig, aber ich sehe nicht, warum es sein würde.)

Lassen Sie uns daran

Im Grunde alles, was ich wollte ich wissen, ob ein Event abfeuern kann basierend auf einer Aktion von einem Benutzer, z. B. 205 und Chr$(13) zusammen eingeben. Das Objekt ActiveSession lässt Ereignisse zu und diese Sitzung (Objekt) ist der Ort, an dem das Ereignis auftreten würde.

Könnte es beim Anheben des Ereignisses ein Unterprogramm mit zusätzlichen Parametern aufrufen? Wie zum Beispiel:

Sub TestSub(Param1 as String, Param2 as Object) 
    ' Perform some action 
End Sub 

Frage

  • Was die richtige Syntax für das Ereignis sein würde: Event1, der ausgelöst wird, wenn ein Benutzer ActiveSession die Zeichenfolge "205" & Chr$(13) innerhalb des Objekts eingibt?
  • Wie lautet Event1TestSub?
+0

Es gibt nichts Offensichtliches in der Referenz (http://www.zumasys.com/atfiles/manuals/at7/AccuTerm-7-VBA-Language-Reference-Manual.pdf), was darauf hindeutet, dass Ihre Anwendung jede Art von Ereignis unterstützt Programmierung (zumindest von dem Typ, den Sie suchen) –

+0

@TimWilliams würde dies helfen? http://www.zumasys.com/atfiles/manuals/at2k2/AccuTerm-2K2-Programmers-Guide.pdf –

+0

Scheint wie dies etwas ist, das Sie jemanden zahlen müssen, um Ihnen zu helfen, herauszufinden. Es ist unwahrscheinlich, dass jemand hier die Antwort auf Ihr Problem wissen wird. –

Antwort

0

fand ich viel über Ereignisse in der manual

Seite 14

Dim WithEvents objSession As AccuTermClasses.Session 

Hier sind zwei Ereignisse, die ich schnell gefunden:

Seite 28

Dataready Ereignis
Objekt _DataReady()
Dieses Ereignis wird ausgelöst, wenn die InputMode Eigenschaft der Sitzung nicht Null ist, und Daten vom Host wurde und empfangen bereit, die Input Methode zu lesen verwenden.

Seite 31

Erweiterung Ereignis
Objekt _Extension (Text als String)
Dieses Ereignis wird ausgelöst, wenn eine der Erweiterung Präfix und Suffix Zeichen durch die empfangen wurden Emulationsmodul. Dieses Ereignis wird verwendet, um die Funktionalität der Emulationsengine zu erweitern. Verwenden Sie die SetExtension-Methode, um die Präfix- und Suffixzeichen anzugeben.

Ich kann mir vorstellen, dass eines dieser Ereignisse könnte funktionieren, und Sie können für sie Ereignishandler hinzufügen, jeweils:

Private Sub objSession_DataReady() 
    ' ??? 
    TestSub 
End Sub 

Private Sub objSession_Extension(text As String) 
    ' maybe with this one, you can see if text contains your desired string 
    TestSub 
End Sub 

(mehr über VB Ereignisse lesen here)

Und ich die Suche nach weiteren Ereignissen aufgegeben, da der Begriff "Ereignis" in der Hilfedatei 235 Mal vorkommt.

nun dafür:

Ich habe für den Aufruf der Skriptsprache vor „VBA“ hier vor gescholten worden, aber dies wäre, warum.

VBA (Visual Basic for Applications) ist nicht eine Skriptsprache. Es ist eine Implementierung von Visual Basic 6 in Microsoft Office und anderen Anwendungen, mit denen man VB6-Code schreiben kann. Es ist kompiliert in eine DLL, wenn mit Office-Anwendungen ausgeführt wird. Aber ...

AccuTerm enthält eine leistungsstarke Skriptsprache ähnlich wie das beliebte Microsoft Visual Basic Programming System Applications Edition (VBA) ...

... das ist nicht das Gleiche wie der VBA von 99,9% der VBA-Benutzer verwendet! Es ist ähnlich zu VBA, die mit MS Office kommt, aber es ist scripted. Da ist ein Unterschied.

Praktisch ist jedoch der Unterschied nicht groß genug, um eine Unterscheidung in Bezug auf die Tags Ihrer Frage zu machen - VBA ist in Ordnung. Versteh einfach, warum du "gescholten" wurdest. Auch das vb.net-Tag ist noch weniger geeignet. Überhaupt nicht.

Verwandte Themen