Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Office 2000 COM Add-Ins Werkzeuge und Optimierung Tilo Böttcher Technical Specialist Microsoft GmbH.

Ähnliche Präsentationen


Präsentation zum Thema: "Office 2000 COM Add-Ins Werkzeuge und Optimierung Tilo Böttcher Technical Specialist Microsoft GmbH."—  Präsentation transkript:

1 Office 2000 COM Add-Ins Werkzeuge und Optimierung Tilo Böttcher Technical Specialist Microsoft GmbH

2 Nach gut zwölf Monaten Office 2000 wollen wir neben einem Überblick über die programmatischen Erweiterungsmöglichkeiten mit COM Add-Ins in den verschiedenen Office 2000 Anwendungen auch Möglichkeiten für das Optimieren von VB/VBA Applikationen aufzeigen. Office 2000 COM Add-Ins Werkzeuge und Optimierung

3 Was Sie heute erwartet Ein Überblick sowie die Klärung einiger Fragen Erweitern aber wie ? Sicher (gegen Angriffe und unberechtigte Veränderungen) ? Robust Schnell (beim Start, beim Beenden, im Zugriff auf Datenbanken, Informationsaustausch etc.) ? Wiederverwendbar – modular ? Office 2000 COM Add-Ins Werkzeuge und Optimierung

4 Agenda SR1a/OL 2000 Security Patch Overview COM Add-In Entwicklung – Werkzeuge und Erfahrungen Überblick: COM Add-Ins mit VB/VBA sowie C++ und ATL entwickelnCodeoptimierung Kapselung Eventhandling Tipps

5 Agenda SR1a/OL 2000 Security Patch Overview COM Add-In Entwicklung – Werkzeuge und Erfahrungen Überblick: COM Add-Ins mit VB sowie C++ und ATL entwickelnCodeoptimierung Kapselung Eventhandling Tipps

6 Allgemeine Fixes Outlook 2000 Migration von Win 9.x to W2K Excel 2000 SYLK File Security Update Excel Programmatic Text Export Update WORM. Explore.Zip Virus Update IE 5.0a auf IE 5.1 Update System Komponenten Updates auf Windows 2000 Stand (incl. MDAC 2.1 auf 2.5, OleAut, Richedit, Windows Installer 1.0 auf 1.1, Web Folders, Jet). PhotoDraw 2000 Version 2 SR1a/OL 2000 Security Patch Overview

7 Outlook 2000 Security Patch Block All Access to the following potentially unsafe attachment types: EXE, COM, URL, LNK, BAT, PIF, INF, REG, CMD, BAS, ISP, INS, CRT, PCD, MST, SCR, HLP, CHM, CPL, VBS, ASF, JS, MDB Prevent script in One-off forms from executing. (no more prompt) Always Bring up UI prompt for programmatic access to the Item.Send method in the Outlook Object Model Always Bring up UI prompt for programmatic access to Address Book Entries, Contact Email Address, and Recipient information in Outlook SR1a/OL 2000 Security Patch Overview

8 Was wurde für Developer im SR1a gefixt? Fixes in allen Bereichen (auch MDAC, IE, WEB Server)... einige Auszüge Allows multiple multi-threaded (MT) project types. Forms3 setfocus works with Modal UserForms as expected. Properly licenses when deploying a DLL with controls on a computer that does not have Office 2000 Developer Edition. Updates to RichEdit control (RichEd20.dll) for improved text handling and display. WebCalc retains data and format of cells as expected in scripts, applets, and other programming elements in Internet Explorer 5. SR1a/OL 2000 Security Patch Overview

9 Agenda SR1a/Security Patch Overview COM Add-In Entwicklung – Werkzeuge und Erfahrungen Überblick: COM Add-Ins mit VB/VBA sowie C++ und ATL entwickelnCodeoptimierung Kapselung Eventhandling Tipps

10 COM Add-Ins mit VBA entwickeln COM Add-In Entwicklung – Werkzeuge und Erfahrungen Neues COM Add-In Projekt Designer Menüleisten, Buttons WithEvents, Forms Kompilierung/Registrierung (nur *.dll möglich) Setup erstellen (Add-In) Verteilung Office VBA IDE

11 COM Add-Ins mit VB entwickeln COM Add-In Entwicklung – Werkzeuge und Erfahrungen *.Exe Designer konfigurieren (Impl. IDTExtensibility2) Menüleisten, Buttons WithEvents, Forms Kompilierung/Registrierung Setup erstellen (Add-In) Verpackungs- und Weitergabeass. Verteilung Visual Basic 6.0 *.dllAdd-In*.ocx

12 COM Add-Ins mit C++ und ATL entwickeln COM Add-In Entwicklung – Werkzeuge und Erfahrungen ATL COM Wizard ATL COM Komponente Verteilung Visual C++ 6.0 RegistryIDTExtensibility2 Objektmodell von Office 2000 und verwendeter App importieren Interaktion mit UI MenüeinträgeButtons Base Event Klassen Sink Events Map App Events handlen Test Kompilierung

13 Agenda SR1a/Security Patch Overview COM Add-In Entwicklung – Werkzeuge und Erfahrungen Überblick: COM Add-Ins mit VB/VBA sowie C++ und ATL entwickelnCodeoptimierung Kapselung Eventhandling Tipps

14 Verwendung von Klassen – Kapselung Einfach weiterzuverwenden Einfach zu Projekten hinzuzufügen Einfach zu Projekten hinzuzufügen Weniger Abhängigkeiten zwischen den Modulen Weniger Abhängigkeiten zwischen den Modulen Macht Task Partitionierung und Spezialisierung möglich Übersichtlicher: Verbirgt Teile komplexer Prozesse Vereinfacht Entwicklung und Debugging Codeverwaltung: Updates an zentraler Stelle nur einmal vonnöten Mehrfache Instanzeierung möglich Codeoptimierung

15 Verwendung von Klassen – Kapselung Erzeugen einer Klasse Einfügen eines Klassenmoduls Einfügen eines Klassenmoduls Sinnvollen Namen verwenden Sinnvollen Namen verwenden Initialize und Terminate Events handlen Initialize und Terminate Events handlen Eigenschaften und Methoden festlegen Eigenschaften und Methoden festlegen Objekte instanzeieren Objektvariablen festlegen Objektvariablen festlegen New Schlüsselwort verwenden New Schlüsselwort verwenden Zugriff auf Eigenschaften und Methoden Zugriff auf Eigenschaften und Methoden Codeoptimierung Einfachste Eigenschaft Public Variable im Klassenmodul Methoden Public procedure Sub oder Function Rückgabe von Werten möglich Übergabe von Args möglich Wird I. A. so verwendet

16 Codeoptimierung Dim ObjektA as BeispielklasseA Set ObjektA = New BeispielklasseA.... Use Properties etc... Set ObjektA = Nothing

17 Verwendung von Collections Manchmal wird eine unbekannte Anzahl an Objekten benötigt... Eine Collection kann andere Objekte aufnehmen Mit NEW kann eine neue Collection angelegt werden Methoden Methoden Add – Hinzufügen eines Objektes Add – Hinzufügen eines Objektes Item (default) – Referenziert ein Objekt Item (default) – Referenziert ein Objekt Remove – Löscht ein Objekt Remove – Löscht ein Objekt Count – Eigenschaft Count – Eigenschaft Eigenschaften und Einschränkungen: Collection löschen durch Neudefinition der Elemente oder Nothing setzen Collection löschen durch Neudefinition der Elemente oder Nothing setzen Public/Global Collections können gefährlich sein Public/Global Collections können gefährlich sein Keine Kontrolle über den Inhalt möglich Keine Kontrolle über den Inhalt möglich Kapselung in Klassen (Collection Class) Kapselung in Klassen (Collection Class) Collections bestehen aus impliziten Objektpointern Collections bestehen aus impliziten Objektpointern Codeoptimierung

18 Codeoptimierung `Ansprechen von Items colItems.Item(1).MethodName colItems.Item(Bär").MethodName `Durchwandern der Collection For Each objItem in colItems objItem.MethodName Next

19 Eventhandling WithEvents -- Eventsenken VBA Schlüsselwort – erlaubt Reaktion auf ObjektEvents (COM) VB/VBA Objektbrowser stellt dies am besten dar Deklaration einer Variablen spiegelt das aktuelle Objekt Private WithEvents obj As SomeObject Muß in einem Klassenmodul oder Form vorgenommen werden, erkennbar auch im Editor mit Autoausfüllen-Menüs Codeoptimierung

20 Eventhandling -- WithEvents Codeoptimierung Private Sub Class_Initialize() Set mobjExcelApp = New Excel.Application mobjExcelApp.Visible = True End Sub Dim mobjExcelEvents As clsExcelEvents Sub InitExcelEvents() Set mobjExcelEvents = New clsExcelEvents End Sub 1 2 Klassenmodul Standardmodul

21 Codeoptimierung Reguläres Modul KlassenModulKlassenModul COM Server Objektvariable Exponiertes Objekt Ereignis Prozedur Pointer auf das KlassenModul Pointer auf das Objekt ObjectEvents triggern Prozeduren im Klassen- modul Private WithEvents objSomething _ As SomeObject Private WithEvents objSomething _ As SomeObject Sub objSomething_SomeEvent() End Sub Sub objSomething_SomeEvent() End Sub

22 Eventhandling -- RaiseEvents Raising Events falls eingebaute Events nicht ausreichen (seit VB 5) Events im Deklarationsbereich festlegen Events im Deklarationsbereich festlegen RaiseEvent Schlüsselwort im Code nutzen RaiseEvent Schlüsselwort im Code nutzen Event Senken Applikationen werden benachrichtigt, wenn Events eintreten Applikationen werden benachrichtigt, wenn Events eintreten WithEvents in Klassenmodulen nutzen WithEvents in Klassenmodulen nutzen Formular-Modul ist am einfachsten (immer da) Formular-Modul ist am einfachsten (immer da) Codeoptimierung

23 Codeoptimierung Private Sub dbCtl1_validateRecord(ByVal operation As String, _ cancel As Boolean) Dim msgString As String Dim iIndx As Integer If (operation = "Save") Then If (Len(Text1.Text)<1) Then msgString = "Bitte einen Titel eingeben!" & vbCrLf msgString = msgString & "Speichern wurde abgebrochen" iIndex = MsgBox(msfString, vbCritical, _ "VB DataControl") Cancel = true Else Cancel = false End If End Sub Public Event validateRecord(ByVal operation As String, ByRef cancel As Boolean) RaiseEvent validateRecord("Add", bCancel) 1 2 3 Deklarationsteil im Klassenmodul etwas später im Code

24 10 Tipps für die Optimierung von VB/VBA COM Add-Ins 1. timeGetTime wesentlich schneller als die Timer Funktion 2. vbNullString anstelle von zur Initialisierung nutzen 3. String concatenation: Sehr teuer!! 4. Like Operator für Zeichenvergleich nutzen 5. Lif Konstrukte langsamer als IF..THEN.. ELSE Codeoptimierung

25 10 Tipps für die Optimierung von VB/VBA COM Add-Ins (Cont.) 6. DoEvents kosten Zeit! 7. Case Statements unter VBA vorsortieren 8. For Each…Next wesentlich schneller als For … Next in einer Collection 9. Löschen einer Collection am schnellsten durch Pointer auf eine neue Collection setzen 10. Early Binding vs. Late Binding! Codeoptimierung

26 Links und Literatur http://msdn.microsoft.com/officedev http://msdn.microsoft.com/officedev http://officeupdate.microsoft.com http://www.microsoft.com/germany/msdn http://msdn.microsoft.com/library http://www.vcdj.com http://www.sliptstick.com http://www.microeye.com http://www.microsoft.com/germany/mspress http://www.wrox.com (Professional ATL COM Programming by R. Grimes) http://msdn.microsoft.com/libraryhttp://www.vhttp://w http://www.microeye.com http://www.microsoft.com/germany/mspress http://www.wrox.com


Herunterladen ppt "Office 2000 COM Add-Ins Werkzeuge und Optimierung Tilo Böttcher Technical Specialist Microsoft GmbH."

Ähnliche Präsentationen


Google-Anzeigen