COM-Server in Visual FoxPro 9.0

Slides:



Advertisements
Ähnliche Präsentationen
Arbeiten mit Berichten in Visual FoxPro 9.0
Advertisements

DVG Klassen und Objekte
Arbeiten mit Werkzeugen in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast TOOL.
Web-Services in Visual FoxPro 9.0
Erstellen von OLE-Servern
Client / Server mit Visual FoxPro 9.0
Wizards & Builders GmbH Projektmanager und SourceSafe Arbeiten mit dem Projektmanager von Microsoft Visual FoxPro.
Arbeiten mit Berichten unter Visual FoxPro 9.0
Ausführen von Berichten unter Visual FoxPro 9.0
Arbeiten mit SQL in Visual FoxPro 9.0
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Distribution von Applikationen Distribution und Installation unter Microsoft Visual FoxPro.
MSDN Webcast Visual Studio 2005 mit Visual FoxPro Jochen Kirstätter Mai 2005 –
Handling und Erstellung von: DLL, EXE, COM, DCOM
OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Visual FoxPro 10.0 Visual Extend 10.0
Visual Extend Anwendertreffen 2009 deutschsprachige FoxPro User Group Uwe Habermann, Venelina Jordanova, Fritz Maurhofer, Rainer Becker VFXAWD09.
Erstellen von COM-Servern in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow COM.
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Client/Server mit Visual FoxPro 9.0
Arbeiten mit Konstanten in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow CONST.
Arbeiten mit SQL in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow SQL.
Erstellen von WebServices mit Visual FoxPro 9.0
Einführung zur Roadshow zu Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow INTRO.
Rainer BeckerdFPUG-Regionaltreffen Hannover CeBIT-Regionaltreffen 2001 Mit kurzem Vortrag von Rainer Becker (bis maximal 23:00 Uhr)
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
Visual Extend 9.5ff Most Wanted Features deutschsprachige FoxPro User Group Rainer Becker VFXWISH06.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Active Extend deutschsprachige FoxPro User Group Rainer Becker VFXAFX06.
VFP Class Browser. © 1999 TMN-Systemberatung GmbH Einsatz des Class Browser n Managen von Klassen inklusive, ändern, umbenennen, löschen und umdefinieren.
Visual Extend Was ist wo? deutschsprachige FoxPro User Group Rainer Becker VFXWASWO.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Visual Extend Weitere Features deutschsprachige FoxPro User Group Uwe Habermann VFX 25 D.
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
Visual Extend Anwendertreffen 2006 deutschsprachige FoxPro User Group Uwe Habermann, Peter Herzog, Fritz Maurhofer, Rainer Becker VFXAWD06.
Uwe Habermann VFX 10.0 Visual Extend Produktaktivierung.
Uwe Habermann VFX 10.0 Visual Extend Anwendungsverteilung.
Visual Extend Application Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 07 D.
Uwe Habermann VFX 11.0 Distribution von Anwendungen Venelina Jordanova
VFX Online Stand der Online-Angebote zu und rund um Visual Extend.
© 2004 Uwe Habermann Visual Extend 9.0 Technical Preview Diplom-Informatiker Uwe Habermann Visual Extend Product Manager
Visual Extend Anwendertreffen 2007 deutschsprachige FoxPro User Group Uwe Habermann, Rainer Becker VFXAWD07.
Visual Extend Anwendertreffen 2008
Visual Extend Produktaktivierung deutschsprachige FoxPro User Group Uwe Habermann VFX 23 D.
Visual Extend Kundeninstallation deutschsprachige FoxPro User Group Uwe Habermann VFX 26 D.
Herzlich Willkommen zum VFX-Anwendertreffen! deutschsprachige FoxPro User Group Rainer Becker Visual Extend 9.0 Anwendertreffen 2005 INTRO.
Visual Extend Features der generierten Anwendung für Endbenutzer deutschsprachige FoxPro User Group Uwe Habermann VFX 04 D.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 18 D.
Visual Extend CDataFormPage Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 09 D.
Visual Extend CPickAlternate Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 14 D.
Visual Extend Download, Installation, Registrierung deutschsprachige FoxPro User Group Uwe Habermann VFX 01 D.
Visual Extend Mandantenfähigkeit deutschsprachige FoxPro User Group Uwe Habermann VFX 22 D.
Visual Extend CPickAlterTextbox Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 16 D.
Visual Extend CPickTextbox Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 15 D.
Visual Extend Lokalisierung deutschsprachige FoxPro User Group Uwe Habermann VFX 24 D.
Visual Extend CPickField Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 13 D.
Visual Extend Application Wizard deutschsprachige FoxPro User Group Uwe Habermann VFX 06 D.
Visual Extend COneToMany Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 10 D.
Visual Extend CTreeviewForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 11 D.
Visual Extend Parent/Child Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 17 D.
Visual Extend CDataFormPage-Formulare mit CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 19 D.
Uwe Habermann Venelina Jordanova Übernahme der Visual FoxPro Geschäftslogik.
Uwe Habermann Venelina Jordanova Schreiben von Visual FoxPro Code in der Oberfläche.
Office in Java 2. Info-Point Urs Frei.
MTS Microsoft Transaction Server Martin Basziszta
 Präsentation transkript:

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

Teil 9: Arbeiten mit COM-Server Mittwoch, 12.10.2005, 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.

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

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

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

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)

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‘

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

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)

OLE Public / Erstellungsoptionen

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!

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)

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

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.ä.

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 ...

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)

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…

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

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!

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

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!

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

Querverweise 06-17 Entwickeln und Debuggen von COM Servern

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

Teil 10: Arbeiten mit WebServices Mittwoch, 19.10.2005, 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.

Fragen an hotline@dfpug.de oder (besser) http://forum.dfpug.de Vielen Dank! Fragen an hotline@dfpug.de oder (besser) http://forum.dfpug.de Besuchen Sie unsere Webseiten: http://www.dfpug.de, http://portal.dfpug.de, http://forum.dfpug.de, http://newsletter.dfpug.de, http://devcon.dfpug.de, http://roadshow.dfpug.de, http://www.visualextend.de, http://www.linuxtransfer.de, http://www.visualfoxpro.de