ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 19.03.2001

Diese Seite wurde zuletzt aktualisiert am 19.03.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für VB, VBA und OfficeVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zurück...

(-hg) mailto:hg_buildevents@aboutvb.de

Haben Sie sich auch schon gefragt, wie ein AddIn für die Visual Basic 6-Entwicklungsumgebung (IDE) feststellen kann, ob sich die IDE im Entwurfs-Modus befindet, oder ob ein Projekt gestartet ist, die IDE sich also im Debug-Modus ("Run") befindet?

Eigentlich ist das eine einfache Sache. Die Schöpfer der IDE haben lediglich die dafür benötigten Schnittstellen vor uns versteckt. Warum sie das getan haben, weiß ich nicht. Aber glücklicherweise haben sie es nicht allzu gründlich getan.

Denn wenn Sie im Kontextmenü des Objekt-Katalogs den Menüpunkt "Ausgeblendete Mitglieder anzeigen" aktivieren, werden Sie bei der VBIDE-Bibliothek eine ganze Menge an neuen Objekten bzw. Schnittstellen, Eigenschaften und Methoden entdecken. Unter diesen im Objekt-Katalog grau dargestellten Einträgen werden Sie auch direkt unterhalb der Events-Schnittstelle die Schnittstelle Events2 finden, die gegenüber Events über eine Eigenschaft mehr verfügt: VBBuildEvents. Dieses neue Event-Objekt werden Sie ebenfalls unter den Neuentdeckungen finden. Und zwei der drei Ereignisse von VBBuildEvents melden uns schließlich, wie erhofft, den Wechsel zwischen Entwurfs- und Debug-Modus: EnterDesignMode und EnterRunMode.

Damit sich Ihr AddIn diese Ereignisse zunutze machen kann, genügen die Deklaration eines Ereignisempfängers und lediglich drei Zeilen Code, die am besten in der OnConnection-Prozedur der AddIn-Klasse aufgehoben sind.

Private WithEvents eVBBuildEvents As VBBuildEvents

Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
 ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
 ByVal AddInInst As Object, custom() As Variant)

  Dim nEvents2 As Events2
  
  Set nEvents2 = Application.Events
  Set eVBBuildEvents = nEvents2.VBBuildEvents
End Sub

In den beiden Ereignisprozeduren können Sie nun auf die Wechsel zwischen den beiden Modi reagieren.

Private Sub eVBBuildEvents_EnterDesignMode()
  ' Die VBIDE hat in den Entwurfs-Modus gewechselt
End Sub

Private Sub eVBBuildEvents_EnterRunMode()
  ' Die VBIDE hat in den Debug-Modus gewechselt
End Sub

Als drittes Ereignis bietet VBBuildEvents noch das Ereignis BeginCompile an. Dessen Namen sollten Sie allerdings wörtlich auffassen. Es gibt nämlich kein Gegenstück dazu, das etwa "FinishedCompile" heißen könnte...


Beispiel-AddIn-Projekt BuildEvents (buildevents.zip - ca. 3,7 KB)



AddIn-Übersicht


Zum Seitenanfang

Copyright © 1999 - 2023 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...