Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Erstellen von OLE-Servern

Ähnliche Präsentationen


Präsentation zum Thema: "Erstellen von OLE-Servern"—  Präsentation transkript:

1 Erstellen von OLE-Servern
Design von OLE-Server-Anwendungen unter Microsoft Visual FoxPro

2 Diese Schulung dient der Einführung in die Erstellung von eigenen
OLE-Server-Anwendungen mit Microsoft Visual FoxPro

3 Themenübersicht Einführung in OLE
Anforderungen, OLE-Bereiche, Erläuterungen Einführung in COM COM-Definition, Vorteile Erstellen von eigenen OLE-Servern VFP-Befehle und Hinweise Beispielanwendung Applikationsklasse, Administrationsklasse, Geschäftsobjektklasse

4 Darstellung des Leistungsumfangs von Microsoft - OLE 2.0
OLE-Teilbereiche Darstellung des Leistungsumfangs von Microsoft - OLE 2.0

5 Anforderungen Kundenforderungen Technische Forderungen
neue Funktionalitäten Integration von Anwendungen Konsistenz zwischen versch. App. Technische Forderungen Anwendungsarchitektur Performance

6 OLE-Basis-Bereiche Component Object Model (COM) Compound Files
Monikers (Objekt-Referenzen) Uniform Data Transfer OLE Drag & Drop OLE Automation

7 OLE-Integrationsbereiche
OLE Embedding OLE Linking Moniker für Datenbezug Daten ggf. in embedded object In-Place-Activation Embedded/Linked statt in eigenem Fenster direkt im Container bearbeiten Tools im Document Context

8 Erläuterungen 1/3 Compound File Uniform Data Transfer OLE-Drag & Drop
Root-Store, Sub-Store (Stream,Sub-Store) Transaktion, Garbage-Collection Uniform Data Transfer Basis für Clipboard, Drag&Drop, Daten-transfer in OLE-Documents OLE-Drag & Drop Ctrl Move->Copy, CtrlShift=Link, Esc

9 Erläuterungen 2/3 OLE-Automation OLE-Documents
Publikation von Eigenschaften (mit Typ) und Methoden (mit Paramtern) über eine Type Library Angesteuert von Programmiersprache oder Makro / Makro-Sprache (VBA/Script) OLE-Documents Container (Präsentationsfläche) Server (Datenangebot aller Art) Cache (Abbild falls Server fehlt)

10 Erläuterungen 3/3 Embedding & Linking In-Place-Activation
Embedding ruft Server für Bearbeitung Linking speichert nur Moniker Emulation nutzt andere Server Conversion wandelt Servertyp um In-Place-Activation siehe Embedding Definition von Toolbars/Fenster u.ä.

11 Component Object Model
Die wichtigsten Grundlagen von Microsoft COM

12 Allgemein Binärer Standard für Interface
Interface ist eine Pointerliste enthält Zeiger auf Funktionen Beliebig viele Interfaces erlaubt Basis-Interface: Iunknown Addref Release QueryInterface

13 Funktionalität Mit Hilfe der CLSID leistet COM: Suchen in Registry
Ggf. Verbindungsherstellung Remote Laden und Starten des Servers Aufruf zur Objekterzeugung Rückgabe Objektreferenz Abwicklung der Kommunikation Ggf. Beenden des Servers

14 Anforderungen Anforderungen an OLE-Server: IClassFactory-Interface
DLL: DllGetClassObject bzw. EXE: RegisterClassObject DLL: DllCanUnloadNow bzw. EXE: RevokeClassObject

15 Vorteile Pfadunabhängigkeit mehrere Provider für Service
Eindeutige Kennung (GUIDs) Einheitliches API Einheitlich Lokal und Remote Verschiedene Interfaces Mehrfachnutzung von Instanzen Versionierung

16 Erstellen von OLE-Servern
Hinweise zur Erstellung von OLE-Servern mit Microsoft Visual FoxPro

17 Verbesserungen in VFP 6.0 Apartment Model Threading
Disablen Benutzeroberfläche Dual-Interface-Support Multiple Runtime-Bibliotheken Type-Libraries Exception Handling Array-Handling / Übergabe

18 Befehle in VFP 6.0 ComArray() ComClassInfo() Sys(3004), Sys(3005)
ComReturnError() Sys(2334) (Server Invocation Mode) Sys(2335) (Unattended Server Mode)

19 Eigenschaften in VFP 6.0 _VFP.Startmode Application.Servername
„Application“ nicht mehr nach außen sichtbar - aber selbst definierbar außerdem: Createobjectex für Selbstaufruf

20 Hinweise zu Modellen Siehe Objektmodelle von Outlook, Excel, WinWord
Applikations-Objekt Probleme mit Collections mit Assign-Methoden realisierbar... Probleme mit Child-Objekten

21 Registrieren von Servern
Anmelden EXE: <EXE> /regserver DLL: REGSRV32.EXE <my.dll> Abmelden EXE: <EXE> /unregserver DLL: REGSRV32.EXE /u <my.dll>

22 Anmelden Remote-Server
EXE-Aufruf mit /regserver RACMGR32.EXE Allow Remote Creates by Key Allow Remote Activation Client VBR-Datei auf Client kopieren CLIREG32.EXE <myserver.vbr> Eintrag Netz-werkadresse und -protokoll

23 Eigene Remote-Server Mögliche Verwendungszwecke:
Reindizieren/Packen Tabellen Komprimieren/Datensicherung Buchungsläufe Berichtserstellung Faxversand Hinweis: CREATEOBJECTEX nicht vergessen!

24 Aufräumen Registry Schlüssel: HKEY_CLASSES_ROOT Einträge:
<DLL-Name>.<OLE-Klasse> CLSID (Verweis TLB, Category) Typelib Component Categories

25 Darstellung der OLE-Objekte in Account View unter Visual FoxPro
Beispielanwendung Darstellung der OLE-Objekte in Account View unter Visual FoxPro

26 Übersicht OLE-Objekte
Application (Anwendung) Einloggen der Anwendung Erzeugt Objekte auf Applikationsebene Admin_Manager (Mandant) Erzeugt Geschäftsobjekte Business (Geschäftsobjekt/BO) Zugriffe auf Datensätze, Masken usw.

27 Applikationsklasse Login ( user, pwd ) Create_Object (form, para )
Anmelden der Anwendung / Benutzer Create_Object (form, para ) Erzeugen Objekte Applikationsebene Menu_Exec ( event, para ) Ausführen Menü auf Applikationsebene Open_Admin ( admin, para /e )

28 Administrationsklasse
Create_Object ( form, para ) Erzeugen eines Geschäftsobjekts Get_Field ( field ) Lesen von Präferenzen Set_Field ( field, value ) Setzen von Präferenzen

29 BO - Eigenschaften List_class / List_vcx Menu_file
Klasse für Listenansicht Menu_file Menüdefinitionsdatei für Kontextmenü Pick_class / Pick_vcx Klasse für Lookup-Auswahl Setup_class / Setup_vcx Klasse für Stammdatenbearbeitung

30 BO - Anzeigefunktionen
Show Aufruf von List oder Picklist (pseudomodal) Show_List Anzeige Listendarstellung Show_Picklist Anzeige Picklistenmaske Show_Setup Anzeige Stammdatenmaske

31 BO - Zustandsabfragen Delete_Enabled Insert_Enabled Read_Enabled
Update_Enabled

32 BO - Pointerfunktionen
Locate Move_First Move_Last Move_Next Move_Previous Move_Pointer Set_Key

33 BO - Datensatzfunktionen
Create_Recordset Record_Delete Record_Insert Get_Field Set_Field Table_Update Cancel_Update

34 BO - diverse Funktionen
Menu_Exec Ausführen Kontextmenüfunktion Meth_Exec Ausführen Methode Geschäftsobjekt Generate_Script Ausgabe Script für Datenobjekt

35 Was ist zu beachten? OLE hat sehr viele Einsatz-bereiche...
Objektmodell einfach halten Interface klein OLE-BOs separat definieren

36 Vielen Dank! Das waren die Themen: Einführung in OLE Einführung in COM
Anforderungen, OLE-Bereiche, Erläuterungen Einführung in COM COM-Definition, Vorteile Erstellen von eigenen OLE- Servern VFP-Befehle und Hinweise Beispielanwendung Applikationsklasse, Administrationsklasse, Geschäftsobjektklasse

37 Wenn Fragen bestehen: Wizards & Builders Frankfurter Str. 21b
Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: Fax: CIS: ,175


Herunterladen ppt "Erstellen von OLE-Servern"

Ähnliche Präsentationen


Google-Anzeigen