OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

20
OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

description

OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls. Allgemeines zu OLE/ActiveX. OLE = „Object Linking and Embedding“ Nutzung in VFP über verschiedene Wege Objektfelder in Tabellen Olebound-Control-Steuerelemente Olecontrol Active-X Steuerelemente OLE-Automatisierung (programmatisch). - PowerPoint PPT Presentation

Transcript of OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

Page 1: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

OLE/ OLE-Automation mit VFPEinsatz von ActiveX Controls

Page 2: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Allgemeines zu OLE/ActiveX

OLE = „Object Linking and Embedding“ Nutzung in VFP über verschiedene Wege

– Objektfelder in Tabellen– Olebound-Control-Steuerelemente– Olecontrol Active-X Steuerelemente

OLE-Automatisierung (programmatisch)

Page 3: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Verknüpfen bzw. Einbetten von Objektfeldern Objektfelder aus Tabellen können über das

Steuerelement OLEBOUNDCONTROL (gebundenes ActiveX-Steuerelement) auf einer Form plaziert werden

WICHTIG: Objekte (z.B. WAVE-Datei) können - eingebettet (Kopie der Datei im Objektfeld) - verknüpft werden (Link zur Originaldatei)

Page 4: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Unterschiede verknüpft / eingebettete Objektdaten Verknüpfte Objektdateien

– Änderungen an der Originaldatei sind auch in der Form zu sehen.

– Doppelclick auf das Steuerelement erlaubt keine direkte Bearbeitung des Objekts auf der Form.

eingebettete Objektdateien– Objekt komplett im Objektfeld der Tabelle.– Doppelclick erlaubt direkte Bearbeitung, Menü

wird automatisch umgestellt.

Page 5: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Hinzufügen von OLE-Objekten zu Tabellen Tabelle erstellen mit einem Feld oFeld, Typ

„OBJEKT“ Einfügen von Daten über

- Menüpunkt „Bearbeiten“-“Objekt Einfügen“- Befehle APPEND GENERAL bzw. MODIFY GENERALBsp.:APPEND GENERAL oFeld from brief1.docAPPEND GENERAL oFeld from brief1.doc LINK

Page 6: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Hinzufügen von OLE-Objekten zu Formularen Im Formular-Designer über

- „gebundenes Ole-Steuerelement“ (OLEBOUNDCONTROL)

in einer Methode thisform.addobject(„octrl“,“oleboundcontrol“)thisform.octrl.controlsource = oFeldThisform.octrl.visible = .t.

Page 7: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Bearbeiten von Objekten durch OLE-Automatisierung Automatisierung von Microsoft Word ab Version 8.0

sinnvoll möglich.Vorsicht bei alten Word Versionen: – Versionen vor Word 97 haben kein durchgängiges

Objektmodell – Bei diesen Versionen sollten Sie lieber DDE statt OLE

Automation verwenden !– Länderversionen führen teilweise zu

übersetzten Befehlsaufrufen insbesondere bei DDE-Funktionen z.B. „Speichern“ statt „Save“ Ausweg: sys(3004), SYS(3005,1033), sys(3006)

Page 8: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

WORD Automatisieren

oDoc = createobject(„word.application“)sys(3005,1033) && englisch!!!!!oDoc.documents.open(„brief1.doc“)oDoc.activedocument.saveas(„neuerbrief.doc“)oDoc.visible = „true“oDoc.activate()

Achtung: - createobject erzeugt jedesmal eine neue Instanz von Word Getobject gibt ein neues Objekt zurück, wenn Word bereits gestartet war - sonst erzeugt der Aufruf einen Fehler- benannte Parameter können den Methoden des Objekts nur übergeben werden, wenn Sie die Headerdateien einbinden. In der Regel Übergabe von VFP als Wert.

Page 9: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

WORD-Objektmodell

Page 10: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Informationen zur WORD-OLE

Datei POSITION.HLP s. Unterlagen Datei POSIT32.TXT s.Unterlagen Datei WINWORD8.H s. Unterlagen MSDN Hilfedatei VBAWRD8.HLP Office-Professional Dokumentation (CD

Durchsuchen!! Infos werden normalerweise nicht mit installiert.)

Page 11: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

EXCEL Automatisieren

oDoc = createobject(„excel.application“)sys(3005,1033) && englisch !!oDoc.workbooks.open(getfile("XLS"))oDoc.activeworkbook.saveas("neu.XLS")oDoc.visible = "true"oDoc.activate()

Achtung: -createobject erzeugt jedesmal eine neue Instanz von EXCEL getobject gibt ein neues Objekt zurück, wenn EXCEL bereits gestartet war - sonst erzeugt der Aufruf einen Fehler.- benannte Parameter können den Methoden des Objekts nur übergeben werden, wenn Sie die Headerdateien einbinden. In der Regel Übergabe von VFP als Wert.

Page 12: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

EXCEL Objektmodell

Page 13: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Informationen zur EXECL-OLE

MSDN Hilfe-Datei VBAXL8.hlp Office-Professional Dokumentation (CD

Durchsuchen!! Infos werden normalerweise nicht mit installiert

Page 14: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Objektmodelle der OLE-Server

Zentrales Problem bei der OLE-Automatisierung ist die Beschaffung des Objektmodells d.h. Die Dokumentation über die Eigenschaften und Methoden des verwendeten OLE-Objekts.

Ansonsten: MSDN, Knowledgebase, Hersteller...

Page 15: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

ActiveX

ActiveX Controls können Sie direkt über die Form/Class Designer Steuerelemente Toolbar hinzufügen. (angezeigt werden nur die ActiveX-Komponenten die unter EXTRAS-OPTIONEN aktiviert wurden).

ActiveX werden als OleControl eingefügt. Häufig liegt die Dokumentation der ActiveX-

Komponenten auf der rechten Maustaste im Form-Designer. Hiermit kann man auch die wichtigsten Eigenschaften gezielt einstellen.

Page 16: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

ActiveX

_VFP.AutoYield = .F.– ActiveX Waitstate, OnKeyLabel/Mouse Queue,

SET ESCAPE OFF, Queries ohne Pause, kein Switch-Back zu VFP

Verschiedene Eigenschaften von ActiveX Controls sind nur über „Object“ erreichbar.Bsp.: oleKalender.Object.value

Sie können ActiveX Elemente vererben, indem Sie diese in VFP Klassen packen.

Page 17: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

ActiveX

SYS(2333)– VTABLE-Binding bzw. DualInterface-Support

SYS(3004 / 3005)– Return / Set Locale ID– 1029 Czech, 1031 Deutsch, 1033 Englisch, 1034

Spanisch, 1036 Franz., 1040 Ital., 1045 Polnisch, 1046 Brasilianisch, 2070 Portugiesisch

(Def) OLECID setzt nur Interface

Page 18: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

ActiveX

ActiveX Controls können mit dem VFP Debugger problemlos debugged werden.

Sie können in VFP eigentlich fast alle verfügbaren ActiveX Controls einsetzen

Der ActiveX-Markt boomt Erheblicher Zeitbedarf für Sichtung und Test Sie müssen sich bei jedem Control in dessen

Objektmodell einarbeiten und sind daher auf eine gute Hilfe/Dokumentation angewiesen.

Page 19: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Zusammenfassung

OLE in VFP Word und Excel OLE Automation ActiveX Controls einsetzen

Page 20: OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls

© 1999 TMN-Systemberatung GmbH

Anregungen und Fragen

TMN-Systemberatung GmbH

Allee 62

74072 Heilbronn

http://www.tmn-systemberatung.de

[email protected]