Service-Center > Entwickler Portal > Technische Informationen

Technische Informationen
Inhalt
- Einführung
- Das FlowFact.Application Object / Commands-Collection
- Standardfüllung der Commands-Collection
- Spezialabkürzung in Hyperlinks
- Panes
- Dynamisches Laden von Active-X-Controls
- Get- UpdateRecordSet-Funktion des FlowFact.Application Objektes
- Die Funktionen des FlowFact.Application.Blob Objectes
- Eigene Platzhalter
- Datenbankbeschreibung
- Veraltete Schnittstellen
Einführung
FlowFact verfügt auf verschiedenen Ebenen über umfangreiche COM-Schnittstellen. Auf das Objektmodell kann zum Beispiel über den Objektkatalog der gängigen Entwicklungsumgebungen zugegriffen werden.
Wir weisen ausdrücklich darauf das Sie keine Funktionalität der FlowFact-COM-Objekte verwenden sollten die in diesem Dokument nicht beschrieben sind. Ansonsten müssen Sie mit undefinierten Ergebnissen und Inkompatibilitäten rechnen.
Die Hauptapplikation von FlowFact ist ein Active-X-Server.
Da sich die GUID des ActiveX-Servers regelmäßig ändert, empfehlen wir höchstens im Entwicklungsprozess einen direkten Verweis auf die FlowFact.EXE.
In von Ihnen ausgelieferten Lösungen sollte ausschließlich späte Bindung zum Einsatz kommen.
Um eine Verwechslung mit Mehrdeutigkeiten zu vermeiden verwenden wir in dieser Dokumentation den Begriff "Object" als Informatik-Objekt. Das Immobilien Objekt referenzieren wir mit "Objekt".
Das Root-Objekt heißt dabei "FlowFact.Application"
Das FlowFact Hauptfenster teilt sich in die Bereiche Menüleiste, Navigator und die eigentliche Arbeitsfläche (sog. Pane). Die einzelnen "Fenster" stellen jeweils ein eigenes Pane dar.
Über die Menüleisten und den Navigator lassen sich sog. "Befehle" (Commands-Collection) anstoßen.
Im FlowFact-Systemverzeichnis befindet sich ein Freeware-VBS-Editor (vbseditor.exe).
FlowFact lädt nach dem Login des Benutzers alle Makros aus dem Verzeichnis .\Profiles mit der Endung *.vbs ein. Alle Anweisungen die nicht innerhalb einer Funktion/Methode sind werden beim Einladen sofort einmalig ausgeführt. Im Anschluss daran werden auf die gleiche Weise alle Makros aus dem User-Profile-Verzeichnis eingelesen. Gleichnamige globale Methoden/Funktionen können von Benutzer-Profil überlagert werden. Alle Makros werden in ein globales Modul eingeladen.
Falls Sie also Add-Ins realisieren wollen, die auch andere FlowFact-Anwender erhalten sollen, dann müssen Sie auf eindeutige Namen achten.
Das FlowFact.Application Object / Commands-Collection
Das FlowFact.Application Object im Detail sowie die verwenbaren FlowFact.Application.Commands finden Sie in der nachfolgenden Übersicht:
Standardfüllung der Commands-Collection
Eine Auflistung der FlowFact Standardfüllung der Commands-Collection finden Sie in hier:
Spezialabkürzung in Hyperlinks
Internetlink mit dem Präfix ffmdX#Parameter ist identisch mit dem Code.
Commands.execute X(Parameter)
Falls X nicht in der command-Auflistung existiert wird nach einer Funktion/Prozedur im VBS-Global-Modul gesucht und evtl. ausgeführt. Dabei werden allerdings keine Parameter unterstützt. Diese Spezialsyntax reduziert den Codeaufwand für einfache Makros enorm.
Panes
Eine Übersicht der FlowFact Fenster ("Panes") inkl. der Methoden und Properties des Pane-Objekts finden Sie hier:
Dynamisches Laden von Active-X-Controls
Es besteht die Möglichkeit eigene oder fremde Active-X-Controls der Panes-Collection hinzuzufügen.
FlowFact.Appliccation.Loadcontrol strProgID,strName [,strLicenceKey]
- strProgID - Identifikator für Das Control
- strName - Name in der Collection
- strLicenceKey - Optionaler Lizenzkey für das verwendete Control
Nähere Informationen über ProgID und LincenceKey entnehmen Sie bitte der Dokumentation der von Ihnen verwendeten Entwicklungsumgebung.
Anweisung wird ingnoriert sofern bereits ein Pane mit dem Namen strName existiert.
Beim Aktivieren (Control kommt in den Vordergrund) wird die Methode Form_Activate aufgerufen. Beim Deaktivieren wird die Methode Form_Deactivate aufgerufen.
Standardnachrichten von FlowFact an das aktive Pane können über eine Methode OM (Object Message) abgefangen werden.
Public Sub OM(ByVal getmsg&, ByVal P&, Optional ByVal sstr As Variant)
MsgBox "OM" & getmsg
End Sub
Beispiel
Lädt das Control mit der ProgID loadcontroldemo.ctlLoadcontrolDemo unter F_DEMO in die Panes Collection:
Sub Demo
application.loadcontrol "loadcontroldemo.ctlLoadcontrolDemo","F_DEMO","cbeibigbgioc"
application.panes("F_DEMO").show
End Sub
Get- UpdateRecordSet-Funktion des FlowFact.Application Objektes
Die GetRecordset-Funktion des FlowFact.Application Objektes
- dient dazu ein ADO-Recordset aus einer SQL Anweisung zu erzeugen
- greift auf die FlowFact-Datenbank zu, ohne das weitere Verbindungsangaben nötig sind und bezieht sich dabei auf den in der FlowFact-Anwendung angemeldete Benutzer
- verwendet die Zugriffsberechtigungen auf Datensatzebene mit denen FlowFact arbeitet und gibt nur Daten zurück, für die mindestens Leseberechtigung besteht
Weitere Details und Information zu den folgenden Punkten:
- SQL-Abfragen
- Tabellenspezifische Sonderfälle
- UpdateRecordSet-Methode des FlowFact.Application Objektes
finden Sie auf der folgenden Seite:
Get- UpdateRecordSet-Funktion des FlowFact.Application Objektes...
Die Funktionen des FlowFact.Application.Blob Objectes
In der folgenden Auflistung erhalten Sie eine vollständige Übersicht der Funktionen und Methoden des FlowFact Blob-Objektes.
Eigene Platzhalter
Es besteht die Möglichkeit eigene MergeFields zu generieren. Sobald der MergeFieldname im Word (Platzhaltername) einen Präfix von "X_" hat, dann wird die Funktion
Function x_MergeFieldGet( strMergeField, rsMain)
aufgerufen. Als Parameter wird der Platzhaltername und das aktuelle Hauptrecordset übergeben. Rückgabewert ist der gefüllte Platzhalter. Der Platzhalterdialog (Bereich benutzerdefiniert) kann mit eigenen Platzhaltern gefüllt werden. Das funktioniert über die Methode (siehe auch Beispiel)
Sub x_MergeFieldFillList(list)
Beispiel
commands.addcombobox "Firma","HalloFirma","Test1","bmpHILFE","A|B|C|D"
Sub Main
commands("firma").text="FlowFact"
end sub
Function x_MergeFieldGet( strMergeField, rsMain)
x_mergefieldget=commands("Firma").text & rsMain("Name") & strmergefield
End Function
Sub x_MergeFieldFillList(list)
For i=1 to 500
LIST.AddItem "X_Platzhalter" & cstr(i)
Next
end sub
Datenbankbeschreibung
In dieser Tabelle finden Sie eine vollständige Auflistung aller FlowFact Datenbanktabellen, deren Relationen und Informationen zu Feldarten-Details und über besondere Felder.
Veraltete Schnittstellen
Beschreibt den Aufbau der Schnittstelle aus der FlowFact Version 9.5.
Bitte ersetzen Sie umgehend diese Aufrufe durch die flexibleren des Panes-Objects, da diese Schnittstelle in zukünftigen Versionen nicht mehr unterstützt wird.
