OLE-Automation: Unterschied zwischen den Versionen
K |
K (Fehler korrigiert) |
||
Zeile 41: | Zeile 41: | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
{{Vorlage:Procedure | {{Vorlage:Procedure | ||
|Name=function CallIn (long) | |Name=function CallIn (long) | ||
Zeile 132: | Zeile 128: | ||
*Bei Parameter Mode = -1 | *Bei Parameter Mode = -1 | ||
**0..499: Aktive Arbeitsoberfläche | **0..499: Aktive Arbeitsoberfläche | ||
+ | }} | ||
+ | {{Vorlage:Procedure | ||
+ | |Name=procedure StayOnTop | ||
+ | |Beschreibung=Mit der Funktion StayOnTop können Sie InfoAgent auf dem Desktop in den Vordergrund bringen und damit für den Anwender sichtbar machen, wenn InfoAgent durch ferngesteuerte andere Applikationen zuvor verdeckt wurde. Sollte die Anwendung minimiert gewesen sein, so wird die ursprüngliche Fenstergröße wiederhergestellt. | ||
}} | }} | ||
{{Vorlage:Procedure | {{Vorlage:Procedure |
Version vom 19. Juni 2008, 13:47 Uhr
InfoAgent - OLE Automation Schnittstelle
Aufbau und Anwendung der Automation Schnittstelle
InfoAgent kann ab der Version 2.7.022 erstmals über eine OLE Automation Schnittstelle angesprochen werden.
In den nächsten Versionen wird die Schnittstelle weiter ausgebaut. Zukünftig ist mehr und mehr das Steuern von InfoAgent, sowie der Datenaustausch mit anderen Anwendungen möglich.
InfoAgent starten, Anmeldung an InfoAgent
Für die InfoAgent-Fernsteuerung gibt es prinzipiell zwei unterschiedliche Szenarien:
- Ein Anwender arbeitet mit InfoAgent und Sie wollen durch Ihre Applikation Aktionen im Arbeitsbereich dieses Anwenders durchführen. Es wird dann kein Login benötigt, es ist bereits durch den Anwender ausgeführt worden. Sie müssen in Ihrer Applikation dann nur prüfen, ob InfoAgent bereits aktiv ist.
- Sie haben einen eigenständigen Prozess. In diesem Fall muss die Applikation ein Login (und am Ende ein Logout) durchführen.
Anmeldung an InfoAgent für den Fall 1
' InfoAgent erzeugen Set IA = CreateObject("infoagent.app") ' Versionsnummer abfragen MsgBox "Versionsnummer: " & IA.Version ' Aktuelle Ansicht abfragen MsgBox "Aktuelle Ansicht: " & IA.selectview (-1)
Anmeldung an InfoAgent für den Fall 2
' InfoAgent erzeugen Set IA = CreateObject("infoagent.app") ' Login übergeben IA.Login "administrator", "passwort" ' Suchewort abfragen Suche = inputbox("Bitte Kundennamen eingeben:","InfoAgent Kundensuche") ' Kundensuche durchführen Result = IA.DoKdSearch (Suche) ' Rückgabewert auswerten if Result = 1 then ' InfoAgent in den Vordergrund bringen IA.StayOnTop Else MsgBox "Fehler bei der Kundensuche"
function CallIn (long)
Ein eingehender Anruf kann hier an InfoAgent übergeben werden. Die übergebene Telefonnummer wird wie ein selbst festgestellter eingehender Anruf per CAPI behandelt und über eine Meldung signalisiert. (Ab IA Version 2.8.9.0)
Voraussetzung ist, dass ein Benutzer in InfoAgent angemeldet ist.
long CallIn (Number: WideString)
Parameter
- Number: eingehende Rufnummer
Rückgabewerte
- 1: Darstellung des Anrufs wurde ausgeführt
- -1: Kein Arbeitsbereich aktiv
function DoKdSearch (long)
Führt in InfoAgent eine Kundensuche durch.
Voraussetzung zum Suchen nach Kunden ist, dass die Kundentabelle die aktive Ansicht in InfoAgent ist. Zum Abfragen oder Wechseln der aktiven Ansicht in InfoAgent nutzen Sie die function SelectView.
long DoKdSearch (SuchString: WideString)
Parameter
- SuchString: Suchwert nachdem gesucht werden soll
Rückgabewerte
- 1: Suche wurde ausgeführt
- -1: Kein Arbeitsbereich aktiv
- -2: Keine Kundentabelle als aktive Ansicht vorhanden
siehe auch
procedure Login
Falls Ihr Programm ein bereits laufendes InfoAgent vorfindet, kann es im Kontext des bereits angemeldeten Anwenders arbeiten.
Falls Ihr Programm jedoch ein eigenes InfoAgent starten muss, ist es notwendig, dass Sie als erste Aktion ein Login durchführen. Im Rahmen dieses Login übergeben Sie den gewünschten Anmeldenamen und das zugehörige Passwort.
Nach Beendigung der Arbeit ist dann unbedingt ein Logout mit der Procedure Logout durchzuführen, andernfalls wird das System beim nächsten Start einen möglichen Zugriffskonflikt bemängeln.
Login (User, PW: WideString)
Parameter
- UserName: InfoAgent Anmeldename unter dem die Aktionen durchgeführt werden sollen.
- Passwort: InfoAgent Zugangs-Passwort
Rückgabewerte
keine
siehe auch
procedure Logout
Meldet InfoAgent komplett ab und schließt die Anwendung. Alle offenen Fenster werden geschlossen. Nicht gespeicherte Daten werden nach Abfrage ggf. gespeichert.
Nach einem Logout dürfen Sie nicht sofort ein neues Login ausführen. Da sich das Programm dann gerade im Beenden Zustand befindet, erhalten Sie in diesem Fall eine Schutzverletzung. Sie müssen nach einem Logout eine kurze Zeit warten (1..5 Sekunden) bis das Programm völlig beendet wurde UND ein neues InfoAgent-Objekt mit CreateOleObject erzeugen (das alte ist nach dem Logout nicht mehr gültig, eine Verwendung führt zu einer Schutzverletzung).
Parameter
keine
Rückgabewerte
keine
siehe auch
function SelectView
Über die Funktion SelectView können Sie bestimmen welche Arbeitsoberfläche sichtbar sein soll. Weiterhin können Sie damit abfragen, welche gerade sichbar ist.
long SelectView (mode: long)
Parameter
- Mode
- -1: Abfrage der aktuellen Arbeitsoberfläche (Wert 0..499)
- >=0: Setzen der Arbeitsoberfläche:
- Start
- 0: Übersicht
- 1: Kundentabelle
- 2: Vertragstabelle
- 3: Kalender
- 4: Störfalltabelle
- 5: Schadentabelle
- 6: Gesellschaftstabelle
- Stammdaten
- 50: Mitarbeiterverwaltung
- 51: Kontakttabelle
- Auswertung
- 100: Kunden
- 101: Vertrag
- 102: Kennzahlen
- Provision
- 150: Provisionseingang
- 151: Verträge ohne Provision
- 152: Buchungslauf
- 153: Auszahlung
- 154: Auswertung
- Inkasso
- 200: Buchungslauf
- 201: Rechnungen
- 202: Mahnlauf
- 203: Mahnungen
- 204: Auswertung
- 205: Konten
- 206: DTA
Rückgabewerte
- Bei Parameter Mode >= 0
- 1: Wechsel erfolgreich
- -1: Kein Arbeitsbereich Aktiv
- -2: Wechsel nicht erfolgreich (möglicherweise nicht genügend Rechte)
- Bei Parameter Mode = -1
- 0..499: Aktive Arbeitsoberfläche
procedure StayOnTop
Mit der Funktion StayOnTop können Sie InfoAgent auf dem Desktop in den Vordergrund bringen und damit für den Anwender sichtbar machen, wenn InfoAgent durch ferngesteuerte andere Applikationen zuvor verdeckt wurde. Sollte die Anwendung minimiert gewesen sein, so wird die ursprüngliche Fenstergröße wiederhergestellt.
Parameter
keine
Rückgabewerte
keine
property Version (WideString)
Diese Eigenschaft ermittelt die aktuelle Versionsnummer der InfoAgent-Anwendung.
Parameter
keine
Rückgabewerte
- InfoAgent Versionsnummer