Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

COM-Server in Visual FoxPro 9.0

Kopien: 1
Erstellen von COM-Servern in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow COM.

Ähnliche Präsentationen


Präsentation zum Thema: "COM-Server in Visual FoxPro 9.0"—  Präsentation transkript:

1 COM-Server in Visual FoxPro 9.0
deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast

2 Teil 9: Arbeiten mit COM-Server
Mittwoch, , 16:00 – 17:00 Uhr Beschreibung: Auch wenn Visual FoxPro optimal für die schnelle Erstellung von schnellen Benutzer-oberflächen für Datenbanken ist, also für die Erstellung klassischer 2-Schichten-Anwendungen, besteht die einfache Möglichkeit, auch COM-Server zu erstellen. Selbige können in einem weiteren Schritt in Webservices umgewandelt werden (siehe Folge-WebCast). Wir zeigen Ihnen in diesem Webcast, was dafür notwendig ist.

3 Rainer Becker dFPUG VFP-Entwicklerkonferenz VFP-Lokalisierung
Online-Angebote Loseblattsammlung VFP-Entwicklerkonferenz VFP-Lokalisierung Framework Visual Extend MVP, MCP, ISV Wizards & Builders GmbH

4 Wie bekomme ich VFP ? Update von 6.0, 7.0, 8.0 sowie VS 97
Nicht von VFP 5.0 oder früher Internationale und US/Canada-Version Preisunterschied durch Dollarverfall Technisch identisch Kein Support / Marketingbudget für US-Version in BRD dFPUG bietet exklusiv „Deutsche Version“ Benutzeroberfläche, Berichtsdesigner, Werkzeuge

5 Vortragsthemen COM Allgemein COM-Objekt / OLEPublic
Erstellung von EXE oder DLL Type Library / Dokumentation Erstellung Registrierung Auslieferung Programmierhinweise

6 Component Object Model
COM (Component Object Model) ist ein Microsoft Standard, der es anderen Applikationen, wie zum Beispiel Active Server Pages oder Microsoft Office erlaubt, auf Funktionalität der eigenen Applikation zuzugreifen Man kann jedem Client, der COM-Objekte ansprechen kann, über COM beliebige Funktionalität zur Verfügung stellen Dies gilt also bi-direktional (von/aus VFP)

7 Bekannte COM-Server I Microsoft Word und Microsoft Excel
VFP kann auf diese Applikationen als Client problemlos zugreifen, oWord= createobject(„Word.Application“) Die Funktionalität eines COM-Servers kann man im VFP Objekt Browser sehen Intellisense unterstützt VFP bzgl. der benötigten Methoden und Eigenschaften z.B. local oExcel as ‚Excel.application‘

8 Bekannte COM-Server II
Der COM Client (z.B. der Object Browser) kann die verfügbare Funktionalität eines COM-Servers über die sogenannte Type Library erfahren Indem man andere COM-Server in eigenen VFP Projekten verwendet, kann man VFP-Funktionalität beliebig erweitern. z.B. Excel für alle Rechenaufgaben einsetzen... Das Ansteuern eines anderen COM-Servers nennt man auch OLE-Automation

9 COM-Objekt COM-Server benötigt ein Objekt OLE-Public
Es muss sich nicht um ein Geschäftsobjekt handeln Sehr oft sind die eigentlichen Geschäftsobjekte nicht wirklich für einen Aufruf von außen geeignet! Es muss sich um ein Objekt handeln Zumindest ein Wrapper-Objekt für Funktionen ist notwendig Basierend auf einer Klasse (Control/Container) Aufruf via „createobject“ aus anderen Anwendungen Methoden/Eigenschaften sind sichtbar/modifizierbar und müssen daher geschützt werden (siehe unten)

10 OLE Public / Erstellungsoptionen

11 EXE / DLL (single/multi)
Ein In-Process COM-Server ist eine DLL welche im Speicherbereich des Clients instanziiert wird. Diese COM Server Art kann keine direkte Interaktion mit dem User Interface haben  OLE Fehler wird erzeugt Single Threaded: Jede Clientanwendung erhält eine eigene Instanz des COM Servers Multi Threaded: Verschiedene Clientanwendung können sich die gleiche Instanz des COM Servers „teilen“ Details beziehen sich auf Einsatz der COM Server unter MTS/COM+ Ein Out-of-Process COM-Server ist eine EXE, welche in einem eigenen Speicherbereich läuft. Dieser COM-Server kann ein User Interface haben!

12 Type Libraries Die Type Library ist eine binäre Datei welche alle öffentlichen Klassen des COM Servers mit deren Methoden, Attributen und Events beschreibt. Eine Type Library kann vorliegen als: Ein eigene binäre Datei (.TLB,.OLB) Integriert in eine DLL In eine EXE hineinkompiliert In ein ActiveX Control integriert Wenn Sie ein Projekt mit OLEPUBLIC Klassen unter VFP kompilieren erhalten Sie 3 Dateien: Die DLL oder EXE mit dem Projektnamen Eine Type Library (.TLB) Eine Registry Datei (.VBR)

13 COM-Server Dokumentation
Andere Entwickler welche Ihre Komponenten verwenden, erhalten nur die Information welche Sie in der Description (Beschreibung) abgelegt haben (Klasse, Attribute, Methoden) COM Server Methoden sollten daher in der Beschreibung enthalten: Beschreibung der zu übergebenden Parameter High-Level Beschreibung der Methode Was macht die Methode Beschreibung des Return Wertes

14 Bessere Dokumentation in PRG!
COMATTRIB (nur in PRG Dateien): Festlegen welchen Status eine Property/Methode hat (nFlags bzw [1]) Restricted, Hidden, NonBrowsable Hilfe String festlegen [2] Gross/Kleinschreibung erhalten (Capitalisation) [3] PropertyTyp angeben [4] Anzahl Parameter [5] Diese Einstellungen wandern nur in die TLB (reine Information) und werden nicht enforced Es erfolgt also keine tatsächliche Typprüfung o.ä.

15 Beispiel programmatisch
DEFINE CLASS PrgDemo AS Session OLEPUBLIC PROCEDURE GetDateTime RETURN "Timestamp: "+TRANSFORM(DATETIME()) ENDPROC GetDateTime_COMATTRIB = COMATTRIB_NONBROWSABLE iAnzahl = 0 DIMENSION iAnzahl_COMATTRIB[4] iAnzahl_COMATTRIB[1] = COMATTRIB_READONLY iAnzahl_COMATTRIB[2] = „Anzahl der Einträge“ && Hilfe iAnzahl_COMATTRIB[3] = „iAnzahl“ && Gross/Kleinschr. iAnzahl_COMATTRIB[4] = „Integer“ && Typ Angabe ...

16 Access/Assign und Parameter
Geschützte Methoden / Eigenschaften Kleine Schnittstelle: Eigenschaften / Methoden ausblenden Extensive Parameterprüfung in Methoden Zugriffs-Methoden für Eigenschaften verwenden Assign- & Access-Methoden Vartype und gültige Werte (Werteliste, Datum usw.) Formattierung (Großbuchstaben, Leerzeichen) Schreibgeschützte Eigenschaften Ausschließlich interner Zugriff (hidden property switch)

17 Sonstige Vorbereitungen
Überprüfung des Startmodus INLIST( _vfp.startmode, 2,3,5 ) Automation Server Unattended Mode ausschalten =SYS(2335,1) Fehlerbehandlung integrieren =COMRETURNERROR Sollte auch aus Access/Assign-Methoden aufgerufen werden Setzen Sie alle Ihre Einstellungen Uralt: Strg+OK liefert alle Optionen…

18 Projektdefinition Hauptprogramm hinzufügen…
Testprogramm eignet sich dafür Tabellen für Steuerdaten inkludieren Config.fpw inkludieren SCREEN = OFF (kein VFP-Desktop sichtbar) RESOURCE=OFF (keine Anlage Foxuser.dbf) ALLOWEXTERNAL=ON (zusätzliche config.fpw mögl.) Sichtbar schalten sofern sinnvoll

19 Ausführung des COM-Servers
Beispiel in Excel: Dim loRef as Object On Error Goto SomeError Set loRef = createobject(„exe.obj“) … other operations Set loRef = Nothing Excel-Entwickler lieben VFP-Datenzugriff, da er viel einfacher für Sie ist als ODBC/ADO!

20 TypeLib-Abfrage Der Object Browser (Objektkatalog) kann Type Libraries auslesen und anzeigen Informationen zu einem COM-Server können per Drag & Drop in VFP übernommen werden

21 Registrierung COM-Server
Wenn Sie aus einem VFP Projekt einen COM Server kompilieren, dann werden alle OLE Public Klassen automatisch auf dem lokalen Rechner registriert Wenn Sie mit den gängigen Installations-tools (Installshield, Wise..) ein Setup erstellen, so werden die COM Komponenten automatisch auf dem Rechner registriert Sie können dies auch manuell mit Hilfe der Windows Tools RegServer, UnRegServer und RegSrv32 erledigen Wenn VFP nicht installiert ist, muss zuerst die VFP Runtime installiert werden, damit der COM-Server lauffähig ist!

22 Auslieferung des COM-Servers
Laufzeitverzeichnis enthält <IhrServer>.exe VFP9R.DLL, VFP9RENU.DLL GDIPLUS.DLL REGSVR32.EXE MSVCR71.DLL in system32 Regsvr32.exe vfp9r.dll <IhrServer>.exe /regserver

23 Querverweise 06-17 Entwickeln und Debuggen von COM Servern

24 Weiterführendes Material
Visual FoxPro 9.0 Updatebuch Roadshow-CD Lokalisierungs-CD Visual FoxPro 8.0 Deutsche Hilfedatei Online-Angebote der dFPUG Forum, Portal, eNewsletter, Homepage, Wiki

25 Teil 10: Arbeiten mit WebServices
Mittwoch, , 16:00 – 17:00 Uhr Beschreibung: Gerne wird Visual FoxPro für die schnelle Anwendungsentwicklung von Desktop-Applikationen oder von Client/Server-Applikationen verwendet. Aber auch die Erstellung von WebServices stellt mit dieser leistungsfähigen Entwicklungsumgebung keinerlei Problem dar! Die schnellen Datenbank- und Stringfunktionen erlauben die leichte Erstellung von performanten Diensten für eine verteilte Anwendung.

26 Fragen an hotline@dfpug.de oder (besser) http://forum.dfpug.de
Vielen Dank! Fragen an oder (besser) Besuchen Sie unsere Webseiten:


Herunterladen ppt "COM-Server in Visual FoxPro 9.0"

Ähnliche Präsentationen


Google-Anzeigen