Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.