Zum Inhalt

Application & Verbindung


3.1.1 IAutoBase Interface

Basisobjekt für alle COM-Objekte.

IDL

[ uuid(37D14AB1-2E25-11D3-BA02-004005232B30), version(1.0),
  helpstring("Grundlegende Dispatch-Schnittstelle für alle Objekte"),
  hidden, dual, oleautomation ]
interface IAutoBase : IDispatch;

IAutoBase bildet das Basisobjekt aller verwendeten COM-Objekte. Daher kann jedes COM-Objekt der microtech Software auf IAutoBase getypecastet werden.

IAutoBase Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Parent Gibt das Parent Interface zurück.

IAutoBase::Application Eigenschaft

Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.

IDL

__property IAutoApplication** Application;

Dieses Interface kann verwendet werden, um das AutoApplication-Objekt, von dem alle Interfaces abstammen, zu erhalten.

Parameter Beschreibung
Value Rückgabewert, der das Basisobjekt beinhaltet.

IAutoBase::Parent Eigenschaft

Gibt das Parent Interface zurück.

IDL

__property IAutoBase** Parent;

Das hier erhaltene Interface kann verwendet werden, um das übergeordnete Interface zu erhalten.

Parameter Beschreibung
Value Falls ein Parent-Objekt vorhanden ist, wird dessen AutoBase Interface zurückgegeben. Ansonsten ein Nil Interface.

3.1.2 IAutoApplication Interface

Application ist das Objekt, das alle anderen Elemente erzeugt.

IDL

[ uuid(C74FB8F1-A6EF-11D2-B95E-004005232B30), version(1.0),
  helpstring("Dispatch-Schnittstelle für Application-Objekt"),
  dual, oleautomation ]
interface IAutoApplication : IAutoBase;

Application ist das erste und einzige Objekt, das mit CreateOleObject (Delphi) oder CreateObject (WinApi) ins Leben gerufen werden muss. Alle anderen Interfaces werden durch Funktionen von diesem erstellt.

Alle Sprachen sollten das Application-Objekt verwenden. AutoApplication ist für die interne Verwendung in Skripten vorgesehen.

Die ProgID ist: BpNT.Application

VisualBasic und verwandte Sprachen:

Set BpApp = CreateObject("BpNT.Application")

Delphi und verwandte Sprachen:

CreateOleObject('BpNT.Application');

IAutoApplication Eigenschaften

Methoden

Name Beschreibung
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
Init Initialisierung der COM-Instanz.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication::Init Methode

Initialisierung der COM-Instanz.

IDL

[id(0x00000002)]
HRESULT _stdcall Init([in] BSTR ConnectionName, [in] BSTR ConnectionKey,
                      [in] BSTR UserName, [in] BSTR UserPass);

Der Init-Aufruf ist der erste zu tätigende Aufruf. Hier wird Firmenname, Anmeldename und Passwort übergeben.

BpApp.Init("Ihr Firmenname", "", "Ihr Anmeldename", "Ihr Passwort")

"Ihr Firmenname" entspricht dabei dem Firmennamen, der angezeigt wird, wenn Sie im Programmmenü DATEI - HILFE und danach "SUPPORT & HOTLINE" auswählen. Im nun geöffneten Fenster finden Sie unter "Ihre Kundendaten bei microtech" den Firmennamen, mit dem die Anmeldung vorzunehmen ist. Bitte beachten Sie Groß- und Kleinschreibung sowie enthaltene Leerzeichen.

Solution-Partner haben hier einen geänderten Aufruf:

BpApp.Init("Solution Partner Name", "Solution Partner Key", "Ihr Anmeldename", "Ihr Passwort")
Parameter Beschreibung
[in] BSTR ConnectionName Ihr Firmenname. Solution Partner: Ihr Solution Partner Name
[in] BSTR ConnectionKey Bleibt leer, z. B.: "". Solution Partner: Ihr Solution Partner Key
[in] BSTR UserName Benutzername
[in] BSTR UserPass Benutzerpasswort

IAutoApplication::SelectMand Methode

Auswählen des gewünschten Mandanten.

IDL

[id(0x00000003)]
HRESULT _stdcall SelectMand([in] BSTR Nr);

Typischerweise ist die Funktion die zweite aufgerufene in einem COM-Programm. Beim Prozeduraufruf "SelectMand" ist die Nummer des gewünschten Mandanten anzugeben. Die Vorgabe bezüglich der Mandantennummern ist numerisch, allerdings kann beim Erstellen eines Mandanten auch ein alphanumerischer Wert gesetzt werden.

Parameter Beschreibung
[in] BSTR Nr String-Entsprechung der Mandantennummer, z. B.: "Mandant 1" oder "1"

IAutoApplication::MandList Eigenschaft

Gibt eine Tabelle mit den Mandanten zurück.

IDL

__property AutoDataSet** MandList;

Dieser Aufruf kann nach SelectMand verwendet werden. Es wird eine Tabelle zurückgegeben, die alle Mandanten enthält.

BpTbl := BpApp.MandList
MessageBox(BpTbl.Fields['MandNr'].AsString)
Parameter Beschreibung
Value Gibt ein AutoDataSet Interface mit der Mandantentabelle zurück.

IAutoApplication::NewProtocoll Methode

Erstellt ein Interface für Protokolleinträge.

IDL

[id(0x00000005)]
HRESULT _stdcall NewProtocoll([in] BSTR Bez, [out, retval] IAutoProtokoll** Value);

Dieser Aufruf kann nach "SelectMand" verwendet werden. Diese Funktion stellt ein Interface bereit, mit dem ein Protokoll in der microtech Software geschrieben werden kann.

Dieses Protokoll ist unter OPTIONEN - PROTOKOLLÜBERSICHT in der Software einsehbar.

Parameter Beschreibung
[in] BSTR Bez Name, unter dem das Protokoll geführt wird
[out, retval] IAutoProtokoll** Value Rückgabe eines AutoProtokoll Interfaces

IAutoApplication::WriteLn Methode

Einfaches, konsolenähnliches Write Line.

IDL

[id(0x00000006)]
HRESULT _stdcall WriteLn([in] VARIANT Value);

WriteLn stellt eine einfache Methode zum Schreiben von textuellen Meldungen zur Verfügung. Es wird empfohlen, dieses Werkzeug nur in der Entwicklungsphase zu verwenden. Zur Ausgabe von Stati für Kunden empfehlen wir das AutoProtokoll oder Benutzernachrichten.

Parameter Beschreibung
[in] VARIANT Value Ein String-basierter Wert, der angezeigt wird

IAutoApplication::Event Eigenschaft

Obsolete: Events für Datenbankaktionen.

IDL

__property IAutoEvent** Event;

Dieser Aufruf sollte Events für die Datenbanken zur Verfügung stellen. Das ist technisch leider nicht umsetzbar, da die Laufzeiten durch den Transport der Events zu hoch sind. Daher ist diese Funktionalität nicht verfügbar.

IAutoApplication::DataSetInfos Eigenschaft

Listet alle Metainformationen der Datenbanken auf.

IDL

__property IAutoDataSetInfos** DataSetInfos;

Gibt eine Liste mit allen Metainformationen der DataSets zurück. Dieses Objekt stellt Beschreibungsinformationen zur Verfügung. Dieses Element ist die Basis für alle Datenbanken, die geöffnet werden.

DataSet = BpApp.DataSetInfos["Adressen"].CreateDataSet
Parameter Beschreibung
Value Gibt ein Interface auf AutoDataSetInfos zurück

IAutoApplication::MandPfad Eigenschaft

Gibt den Pfad zu den Mandantendaten zurück.

IDL

__property BSTR* MandPfad;

Dieser Aufruf kann nach "SelectMand" verwendet werden. Die Funktion gibt den Pfad zum Speicherort der Mandantendaten zurück.

Parameter Beschreibung
Value Gibt einen String mit dem Pfad zu den Mandantendaten zurück

IAutoApplication::TempPfad Eigenschaft

Gibt den Pfad des temporären Verzeichnisses zurück.

IDL

__property BSTR* TempPfad;

Dieser Aufruf kann nach "SelectMand" verwendet werden. Der Rückgabewert enthält den Pfad zu den temporären Dateien der Instanz.

Parameter Beschreibung
Value Gibt einen String mit dem Pfad zum temporären Verzeichnis zurück

IAutoApplication::GetKundendaten Methode

Gibt eine eindeutige Identifizierung zurück.

IDL

[id(0x00000001)]
HRESULT _stdcall GetKundendaten([in, out] VARIANT* aKundennummer,
                                [in, out] VARIANT* aFirmenname,
                                [in, out] VARIANT* aPostleitzahl);

Mit der Funktion "GetKundenDaten" können Sie eine eindeutige Identifizierung des Mandanten abfragen. Diese Informationen sind die Daten, die auch bei der microtech GmbH hinterlegt sind.

BpApp.GetKundendaten(KdNr, FrmN, Plz)
MessageBox(KdNr + ' ' + FrmN + ' ' + Plz)

Bitte beachten Sie: microtech nimmt diese Werte im String-Format entgegen. Daher kann eine Kundennummer durchaus Buchstaben enthalten, auch wenn dies aktuell keine gültige Kundennummer darstellt. Dasselbe gilt ebenfalls für die Postleitzahl.

Parameter Beschreibung
[in, out] VARIANT* aKundennummer Kundennummer als String
[in, out] VARIANT* aFirmenname Firmenname als String
[in, out] VARIANT* aPostleitzahl Postleitzahl als String

IAutoApplication::GetVersion Methode

Gibt die Versionsnummer der microtech Programmdatei zurück.

IDL

[id(0x0000000B)]
HRESULT _stdcall GetVersion([out, retval] BSTR* aResult);

Diese Funktion gibt die aktuelle Versionskennung des microtech Programms zurück. Dieser String entspricht dem, der auch im Hauptfenster der Software ersichtlich ist.

MessageBox(BpApp.GetVersion)

Bitte beachten Sie auch die Funktion "GetVersionEx".

Anmerkungen: Ab Build 3834 könnte diese Funktion andere Werte zurückgeben. Aktuell ist noch nicht vorgesehen dies zu tun, aber Sie sollten Ihre Funktionen darauf ausrichten, dass eventuell Werte mit 4 Punkten auftreten können: Bsp.: 11.0.3834.0.

Parameter Beschreibung
Value Gibt einen String mit der Versionsnummer zurück

3.1.3 IAutoApplication2 Interface

Von IAutoApplication abstammendes Interface.

IDL

[ uuid(6E436573-F918-4B32-9D0F-C66900BD9B33), version(1.0),
  dual, oleautomation ]
interface IAutoApplication2 : IAutoApplication;

IAutoApplication2 Eigenschaften

Methoden

Name Beschreibung
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
Init Initialisierung der COM-Instanz.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication2::OpenLayoutGroup Methode

Bereitet einen Im/Export vor.

IDL

[id(0x0000000C)]
HRESULT _stdcall OpenLayoutGroup([in] BSTR aModul, [in] BSTR aGroup,
                                 [out, retval] AutoLayoutGroup** aResult);

Dieser Aufruf kann nach "SelectMand" verwendet werden.

Der Parameter "Group" setzt sich wie folgt zusammen:

Element Bedeutung
z. B.: Adr (3 Buchstaben als Kurzname einer Tabelle) Wenn Sie das Layout gestalten, sehen Sie im Feldeditor den Kurznamen der Datenbanktabelle, z. B. Adr.AdrNr → die Tabelle ist "Adressen"
"Exp" oder "Imp" Angabe, ob ein Export oder Import Layout Verwendung findet
"Liste" oder "Grp" Angabe, ob ein Listenlayout oder Gruppenlayout verwendet wird. (Gruppen werden nicht empfohlen)

Da man ein Layout nur in dem dafür vorgesehenen Programmabschnitt sinnvoll verwenden kann, sollten Sie direkt für Ihr Layout abfragen, in welche Group es passt.

Verwenden Sie hierzu die Funktion PossibleLayoutGroup('Modulkürzel', 'Datenbankname') → Kommaseparierte Liste.

WSH-Codebeispiel
Dim BpNT
Dim LayoutGroup
Dim Layout
Dim ExecLayout
Set BpNT = WScript.CreateObject("BpNT.Application")
Call BpNT.Init("Firmenname", "", "Anmeldename", "Password")
Call BpNT.SelectMand("1")
Set LayoutGroup = BpNT.OpenLayoutGroup("Au", "AdrExpListe")
Set Layout = LayoutGroup.ImportLayoutFromFile("C:\testlayout.bpl", "Mein neuer interner Name", True)
Set ExecLayout = Layout.doExport
Call ExecLayout.Execute
Set BpNT = Nothing
Parameter Beschreibung
[in] BSTR aModul Kennzeichnet das Modul für den Import/Export
[in] BSTR aGroup Legt die verwendete Gruppe fest
[out, retval] AutoLayoutGroup** aResult Gibt ein Interface auf AutoLayoutGroup zurück

IAutoApplication2::PossibleLayoutGroup Methode

Gibt die möglichen Bereiche eines Im-/Export Layouts an.

IDL

[propget, id(0x0000000F)]
HRESULT _stdcall PossibleLayoutGroup([in] BSTR aModul, [in] BSTR aDBName,
                                     [out, retval] BSTR* Return);

Dieser Aufruf kann nach "SelectMand" verwendet werden. Mit der Funktion "PossibleLayoutGroup" bekommt man eine kommaseparierte Liste, die alle möglichen Positionen eines Layouts angibt.

Modul microtech Software Entsprechung
Au Auftrag
Fi FiBu
Lo Lohn
Su Support

Als DbName wird der Name übergeben, der auch für "CreateDataSet" verwendet wird.

Der Rückgabewert setzt sich wie folgt zusammen: Die ersten zwei Buchstaben beziffern das Modul (erster Parameter der Funktion "OpenLayoutGroup"), die nächsten drei Buchstaben das Einsatzgebiet (z. B. "Adr" für Adressen), die nächsten drei Buchstaben bezeichnen Import "imp" oder Export "exp", und die Art der Verarbeitung ist der letzte Teil: "Liste" (normales Layout) oder "Gruppe" (Grp). Eine Gruppe setzt voraus, dass die anderen beteiligten Layouts schon vorhanden sind (Gruppen werden nicht empfohlen).

Pseudo-Codebeispiel
BpApp.SelectMand('mein Mandant mit dem definierten Layout');
BpTbl := BpApp.DataSetInfos('OffenePosten').CreateDataSet;
showmessage(BpApp.PossibleLayoutGroup('Au', BpTbl.Name));

Tipp

Verwenden Sie den Startparameter -ComPrintProp, um die Bezeichner eines Im/Exports in den Eigenschaftenseiten anzuzeigen. Danach können Sie bei jedem Druck und Im-/Export in den Eigenschaften auf der Einstellungsseite "Parameter" unter "Druckposition" die Werte auslesen.

Parameter Beschreibung
[in] BSTR aModul Kennzeichnet das Modul für den Import/Export
[in] BSTR aDBName Legt die abzufragende Datenbank fest
[out, retval] BSTR* Return Eine kommaseparierte Liste mit den möglichen Im/Exporten

3.1.4 IAutoApplication3 Interface

Von IAutoApplication2 abstammendes Interface.

IDL

[ uuid(CB238386-59B3-4EC8-B670-649CDB011756), version(1.0),
  dual, oleautomation ]
interface IAutoApplication3 : IAutoApplication2;

IAutoApplication3 Eigenschaften

Methoden

Name Beschreibung
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
Init Initialisierung der COM-Instanz.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication3::GetSpecialObject Methode

Erstellt ein Interface für ein SpecialObject.

IDL

[id(0x00000012), helpstring("Gibt verschiedene Spezial Objekte zurück.")]
HRESULT _stdcall GetSpecialObject([in] enum SpecialObjects ObjectName,
                                  [out, retval] IAutoBase** SpecialObj);

Diese Funktion fordert ein SpecialObject an. Die hier gewonnenen Objekte stellen eine Erweiterung zum puren Zugriff auf Daten dar. Viele der Objekte stellen ein gewisses Maß an eigener Programmlogik zur Verfügung - zum Beispiel das Erstellen neuer Vorgänge mit Abarbeitung von Parametern oder der Zugriff auf Lager.

SpecialObject = BpApp.GetSpecialObject(soKontenAnalyse)
MySpecialObject = SpecialObject as AutoSpecialKontenAnalyse
Alternativer Aufruf (Delphi)
var
  pUnk : IUnknown
BpApp.GetSpecialObject(soKontenAnalyse).QuerryInterface(IID_IAutoSpecialKontenAnalyse, pUnk)
if pUnk <> Null then
  printf('Erfolg')

Wie erstellt man eine *.Bpl Datei für einen Im-/Export?

Um Im- bzw. Exporte mit der COM-Schnittstelle zu verwenden, wird ein entsprechendes Layout benötigt. Dieses Layout müssen Sie zuvor im Programm unter dem jeweiligen IMPORT bzw. EXPORT erstellen. Achten Sie beim Erstellen darauf, dass beim Abarbeiten keinerlei Eingaben erforderlich sind (ansonsten werden diese beim Ausführen abgefragt). Nachdem Sie alle Angaben abgelegt haben, können Sie per Drag and Drop das Layout auf den Desktop oder in den Explorer ziehen. Die so erstellte BPL-Datei lässt sich dann in Ihrem Projekt verwenden. Der Import als Datei sowie als Stream ist möglich.

Jede Solution-Partner-Applikation hat ihren eigenen "Namespace", mit dem die Layouts im Programm gespeichert werden. Ihre Layout-Namen können also nicht mit anderen kollidieren. Generell kann kein "User" ein Layout löschen oder ändern.

Parameter Beschreibung
[in] enum SpecialObjects ObjectName Numerischer Wert, der festlegt welches SpecialObject angefordert wird
[out, retval] IAutoBase** SpecialObj Rückgabewert als SpecialObject Interface. Dieses Interface muss per Typecast/QueryInterface in das korrekte Interface umgewandelt werden.

3.1.5 IAutoApplication4 Interface

Von IAutoApplication3 abstammendes Interface.

IDL

[ uuid(9A394EA0-585A-42D0-B22A-640D33650A8B), version(1.0),
  dual, oleautomation ]
interface IAutoApplication4 : IAutoApplication3;

IAutoApplication4 Eigenschaften

Methoden

Name Beschreibung
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication4::Konfiguration Methode

Speicherfeld für mandantenbezogene Applikationsdaten.

IDL

[propget, id(0x0000000D)]
HRESULT _stdcall Konfiguration([in] BSTR Name, [out, retval] BSTR* Value);

Das Feld stellt eine Möglichkeit dar, Ihre Konfigurationen innerhalb der microtech Software abzuspeichern. Mit diesem Property kann der übergebene Wert für den angegebenen Namen gespeichert oder ausgelesen werden. Bitte beachten Sie, dass die Werte immer innerhalb Ihrer COM-Anbindung und mandantenspezifisch gespeichert werden.

BpApp.Konfiguration['Wert1'] := 'vollkommen beliebiger String';
// oder lesend:
showmessage(BpApp.Konfiguration['Wert1']);

Hinweis

Bitte halten Sie die so hinterlegte Datenmenge möglichst gering.

Parameter Beschreibung
[in] BSTR Name Name der Konfigurationsdaten
[out, retval] BSTR* Value Wert der Konfigurationsdaten

3.1.6 IAutoApplication5 Interface

Von IAutoApplication4 abstammendes Interface.

IDL

[ uuid(52FEB1EB-5397-428C-9126-44718F279AEE), version(1.0),
  dual, oleautomation ]
interface IAutoApplication5 : IAutoApplication4;

IAutoApplication5 Eigenschaften

Methoden

Name Beschreibung
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication5::GloKonfiguration Methode ([in] BSTR, [out, retval] BSTR*)

Speicherfeld für global bezogene Applikationsdaten.

IDL

[propget, id(0x00000010)]
HRESULT _stdcall GloKonfiguration([in] BSTR Name, [out, retval] BSTR* Value);

Das Feld stellt eine Möglichkeit dar, Ihre Konfigurationen innerhalb der microtech Software abzuspeichern. Mit diesem Property kann der übergebene Wert für den angegebenen Namen gespeichert oder ausgelesen werden. Bitte beachten Sie, dass die Werte immer innerhalb Ihrer COM-Anbindung gespeichert werden.

BpApp.GloKonfiguration['Wert1'] := 'vollkommen beliebiger String';
// oder lesend:
showmessage(BpApp.GloKonfiguration['Wert1']);

Hinweis

Bitte halten Sie die so hinterlegte Datenmenge möglichst klein.

Parameter Beschreibung
[in] BSTR Name Name der Globalen Konfiguration
[out, retval] BSTR* Value Wert der Globalen Konfiguration

IAutoApplication5::GloKonfiguration Methode ([in] BSTR, [in] BSTR)

IDL

[propput, id(0x00000010)]
HRESULT _stdcall GloKonfiguration([in] BSTR Name, [in] BSTR Value);

IAutoApplication5::BzrKonfiguration Methode

Speicherfeld für benutzerbezogene Applikationsdaten.

IDL

[propget, id(0x00000011)]
HRESULT _stdcall BzrKonfiguration([in] BSTR Name, [out, retval] BSTR* Value);

Das Feld stellt eine Möglichkeit dar, Ihre Konfigurationen innerhalb der microtech Software abzuspeichern. Mit diesem Property kann der übergebene Wert für den angegebenen Namen gespeichert oder ausgelesen werden. Bitte beachten Sie, dass die Werte immer innerhalb Ihrer COM-Anbindung und benutzerspezifisch gespeichert werden.

BpApp.BzrKonfiguration['Wert1'] := 'vollkommen beliebiger String';
// oder lesend:
showmessage(BpApp.BzrKonfiguration['Wert1']);

Hinweis

Bitte halten Sie die so hinterlegte Datenmenge möglichst gering.

Parameter Beschreibung
[in] BSTR Name Name der Benutzerkonfiguration
[out, retval] BSTR* Value Wert der Benutzerkonfiguration

3.1.7 IAutoApplication6 Interface

Von IAutoApplication5 abstammendes Interface.

IDL

[ uuid(BF8AB706-A70C-4389-875C-A2177E40D2F8), version(1.0),
  dual, oleautomation ]
interface IAutoApplication6 : IAutoApplication5;

IAutoApplication6 Eigenschaften

Methoden

Name Beschreibung
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication6::GetVersionEx Methode

Liefert einen Versions-String.

IDL

[id(0x0000000E)]
HRESULT _stdcall GetVersionEx([out, retval] BSTR* Result);

Diese Funktion ermöglicht die Bestimmung der Ausbaustufe einer COM-Instanz. Der zurückgelieferte String kann folgende Elemente enthalten:

  • T - Terminal Version (obsolete)
  • RD - Remote-Desktop
  • S- Standard, P - Professional, E- Essential, C- Commercial, U- Universal (obsolete), ERP-
  • Ganze Zahl bis zum "." als Revision, z. B. 11.xxx.xxx
  • Ganze Zahl bis zum nächsten "." als Kennzeichen innerhalb der Version, z. B. 5 für DbV2-Versionen
  • Ganze Zahl bis zum Ende, die bestimmt, welche Build-Nummer vorliegt
  • OPTIONAL ein weiterer Punkt, der die interne Erstellungsnummer angibt
  • [On4U] für eine Version mit zusätzlicher Freischaltung
  • [Schule] für eine Schulungsversion

Der Rückgabewert kann also wie folgt aussehen: RD U-7.5.1701 oder z. B. C-8.5.1860 [Schule]

Update: Ab Version 11 fällt die Kennung "PrgVersion.5.Buildnummer" weg. Version 11 ist nur noch als DbV2-Version erhältlich. Bsp.: RD ERP-11.0.3820 oder optional RD ERP-11.0.3820.20

Anmerkungen: Ab Build 3834 könnte diese Funktion andere Werte zurückgeben. Gestalten Sie Ihre Funktionen so, dass eventuell Werte mit 4 Punkten auftreten können: Bsp.: 11.0.3834.0.

Parameter Beschreibung
[out, retval] BSTR* Result Gibt einen erweiterten String mit der Versionsnummer zurück

3.1.8 IAutoApplication7 Interface

Von IAutoApplication6 abstammendes Interface.

IDL

[ uuid(B124E8F6-77D1-4AE5-A52E-58B46352F8AB), version(1.0),
  dual, oleautomation ]
interface IAutoApplication7 : IAutoApplication6;

Ab Build: 2520.

IAutoApplication7 Eigenschaften

Methoden

Name Beschreibung
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication7::GetData Methode

Führt eine Datenmengenoperation mit mDL aus.

IDL

[id(0x00000013)]
HRESULT _stdcall GetData([in] BSTR Definition, [out, retval] BSTR* Result);

Die Funktion führt eine Datenmengen-Abfrage aus. Die Beschreibung der gewünschten Datenmenge erfolgt mit mDL. Die mDL ist in einem gesonderten Kapitel dieser Dokumentation enthalten.

Parameter Beschreibung
[in] BSTR Definition String, der nach den Regeln der mDL aufgebaut wird
[out, retval] BSTR* Result Ergebnis als String

IAutoApplication7::FunctionCall Methode

Ruft eine vorgegebene Funktion auf.

IDL

[id(0x00000014)]
HRESULT _stdcall FunctionCall([in] BSTR Params, [out, retval] BSTR* Result);

Mit "FunctionCall" können bestimmte Funktionen der microtech Software aufgerufen werden.

Funktion Aufruf Beschreibung
FktNeu [FktNeu]\|Vorgang Der Parameter zu FktNeu gibt an, für welche Tabelle ein Datensatz neu erfasst werden soll. Result: Im Erfolgsfall "TRUE", ansonsten ein Leerstring.
FktAendern [FktAendern]\|Adressen\|[10000] Der Parameter zu FktAendern gibt an, für welche Tabelle ein Datensatz geändert werden soll. Im zweiten Parameter muss für den Std-Index ein korrekter Wert hinterlegt werden. Kann anhand des zweiten Parameters ein Datensatz identifiziert werden, wird dieser zum Ändern geöffnet. Result: Im Erfolgsfall "TRUE", ansonsten ein Leerstring.
FktEinsehen [FktEinsehen]\|Adressen\|[10000] Der Parameter zu FktEinsehen gibt an, für welche Tabelle ein Datensatz gezeigt werden soll. Im zweiten Parameter muss für den Std-Index ein korrekter Wert hinterlegt werden. Kann anhand des zweiten Parameters ein Datensatz identifiziert werden, wird dieser angezeigt. Result: Im Erfolgsfall "TRUE", ansonsten ein Leerstring.
StartPrg [StartPrg]\|\|[3] oder [StartPrg] Der erste Parameter zu StartPrg bleibt leer. Im zweiten kann dann die Nummer (String) des zu startenden Mandanten angegeben werden. Es wird dann, insofern keine Programmversion läuft, versucht diesen Mandanten zu starten. Result: Leerstring.
Recherchieren [Recherchieren]\|Adressen\|[Adressen\|History] Recherchieren ist aktuell nur für die Tabelle Adressen verfügbar. Daher muss der erste Parameter momentan immer "Adressen" sein. Im 2. Parameter wird angegeben, welche Bereiche für die Recherche im Fenster sichtbar sein sollen. Die maximale Ausbeute ist momentan: [History\|Adressen\|ServiceVertraege\|Projekte\|Vorgang\|OffenePosten]. Result: Alle im Suchfenster gesammelten Adressnummern als kommagetrennte Liste.
MandantAnmeldung [MandantAnmeldung] Öffnet die Anmeldemaske. Es kann nun ein Mandant ausgewählt werden. Wird die Maske mit Ok verlassen, erhält man einen String mit den Werten, andernfalls einen Leerstring. Result: Beschriftung des Mandanten#Mandantennummer\|Anmeldename\|Passwort. Hinweis: Wenn Abbrechen gewählt wird, wird eine Exception "Aborted" ausgelöst.
Buffer := BpApp.FunctionCall("[FktEinsehen]|Adressen|[10000]");
Buffer := BpApp.FunctionCall("[MandantAnmeldung]");
Parameter Beschreibung
[in] BSTR Params Mögliche Funktionsaufrufe: FktNeu, FktAendern, FktEinsehen, StartPrg, Recherchieren, MandantAnmeldung
[out, retval] BSTR* Result Result: String. Je nach Funktion verschiedenste Werte

3.1.9 IAutoApplication8 Interface

Von IAutoApplication7 abstammendes Interface.

IDL

[ uuid(46E0A7BE-85C7-4FDF-91B3-127E10D4CC23), version(1.0),
  dual, oleautomation ]
interface IAutoApplication8 : IAutoApplication7;

Ab Build: 2650.

IAutoApplication8 Eigenschaften

Methoden

Name Beschreibung
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
RequestRetryCount Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
RequestTimeOut Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication8::RequestRetryCount Eigenschaft

Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.

IDL

__property long RequestRetryCount;

RequestRetryCount kann gelesen und geschrieben werden, um die Anzahl der Wiederholungsversuche für Datenoperationen zu ermitteln oder zu setzen. Der Standardwert ist 100.

Wenn der Retry Count auf 0 gesetzt wird, wird kein Fenster angezeigt und somit einer Desktop-Applikation der Fokus nicht entzogen. Ihre Applikation muss dann selbst auf den Fehler reagieren und eventuell erneut einen Versuch zum Schreiben unternehmen.

Delphi-Codebeispiel
Program delphi;
const
  Mandant = '';
  Passwort = '';
  Anmeldename = '';
  Password = '';
var
  BpApp: Variant;
  Tbl: Variant;
procedure Work;
begin
  BpApp := CreateOleObject('BpNT.Application');
  Showmessage('RequestRetryCount ' + IntToStr(BpApp.RequestRetryCount));
  Showmessage('RequestTimeOut ' + IntToStr(BpApp.RequestTimeOut));
  BpApp.RequestRetryCount := 0;
  BpApp.RequestTimeOut := 1; //wird so nicht übernommen, Minimalwert = 2000
  Showmessage('RequestRetryCount ' + IntToStr(BpApp.RequestRetryCount));
  Showmessage('RequestTimeOut ' + IntToStr(BpApp.RequestTimeOut));
  BpApp.Init(Mandant, Passwort, Anmeldename, Password);
  BpApp.SelectMand(Mandant);
  Tbl := BpApp.DataSetInfos('Vorgang').CreateDataSet;
  Tbl.StartTransaction;
  try
    // ... Insert work ...
    Tbl.Commit;
  except
    Tbl.Rollback;
    raise;
  end;
end;
begin
  try
    Work;
  except
    Showmessage('Es ist ein Fehler aufgetreten.');
    raise;
  end;
  Tbl := 0;
  BpApp := 0;
end;
Parameter Beschreibung
Value Ein Wert als Long, der die Anzahl der Wiederholungsversuche von Datenoperationen steuert

IAutoApplication8::RequestTimeOut Eigenschaft

Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.

IDL

__property long RequestTimeOut;

RequestTimeOut kann schreibend und lesend verwendet werden, um auf die Zeit zwischen erneuten Versuchen einer Datenoperation in Millisekunden zuzugreifen. 500 Millisekunden sind der kleinste Wert, 5000 Millisekunden der größte. Ein Beispiel finden Sie unter RequestRetryCount.

Parameter Beschreibung
Value Ein Wert als Long, der die Zeit zwischen Wiederholungsversuchen steuert. Die Zeit wird in Millisekunden angegeben. Angaben zwischen 500 und 5000 sind möglich.

3.1.10 IAutoApplication9 Interface

Ein von AutoApplication8 abgeleitetes Interface.

IDL

[ uuid(9E083A1A-757C-4F87-9C1E-AD233DEC4225), version(1.0),
  dual, oleautomation ]
interface IAutoApplication9 : IAutoApplication8;

Ab Build: 3301.

IAutoApplication9 Eigenschaften

Methoden

Name Beschreibung
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
CreateDataSetFromId Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
RequestRetryCount Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
RequestTimeOut Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication9::CreateDataSetFromId Methode

Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.

IDL

[id(0x0000044D)]
HRESULT _stdcall CreateDataSetFromId([in] BSTR Id, [out, retval] AutoDataSet** Result);

Mit der korrespondierenden Funktion "IDString" kann eine ID gelesen werden. Mit dieser ist es möglich, ein DataSet, das zu einem IDString gehört, zu erhalten. Wurde ein Datensatz zur ID gefunden, steht das DataSet jetzt auf dem richtigen Datensatz, ansonsten wird ein neuer Datensatz angelegt.

Parameter Beschreibung
[in] BSTR Id Ein String, der die ID eines Datensatzes abbildet
[out, retval] AutoDataSet** Result DataSet, das auf dem angeforderten Datensatz steht

Siehe auch: IAutoDataSet6::IDString


3.1.11 IAutoApplication10 Interface

Von IAutoApplication9 abstammendes Interface.

IDL

[ uuid(470AE53C-A3D4-4531-8692-3F22B28A1F7A), version(1.0),
  dual, oleautomation ]
interface IAutoApplication10 : IAutoApplication9;

Ab Build: 3670.

IAutoApplication10 Eigenschaften

Methoden

Name Beschreibung
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
CreateDataSetFromId Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
LogOff LogOff schließt den geöffneten Mandanten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
ExternalUserName Funktion, die in der Cobra-Schnittstelle verwendet wird.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
RequestRetryCount Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
RequestTimeOut Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication10::LogOff Methode

LogOff schließt den geöffneten Mandanten.

IDL

[id(0x000000C9), helpstring("AutoApplication meldet den Mandant und Benutzer ab.
  Danach kann wieder Init und Select Mand aufgerufen werden.")]
HRESULT _stdcall LogOff();

Diese Funktion ist hilfreich, wenn man z. B. unter .NET nicht weiß, wann eine COM-Instanz letztendlich finalisiert wird. Die Funktion schließt die Datenbankverbindung zum Mandanten.

Codebeispiel
BpApp.Init('ConnectionName', 'ConnectionKey', 'UserName', 'UserPassword');
BpApp.SelectMand('MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName im Mandanten ...
BpApp.LogOff;
BpApp.SelectMand('andere MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName im anderen Mandanten ...

IAutoApplication10::ExternalUserName Eigenschaft

ExternalUserName ist eine Funktion, die in der Cobra-Schnittstelle verwendet wird.

IDL

__property BSTR ExternalUserName;

ExternalUserName ist nicht zur allgemeinen Verwendung vorgesehen. Damit wird die Zuordnung der Benutzer zwischen microtech Software und Cobra geregelt. Wir bitten Sie, von einer Verwendung abzusehen.

Parameter Beschreibung
Value String, der den Cobra-Namen des COM-Benutzers zurückgibt

3.1.12 IAutoApplication11 Interface

Von IAutoApplication10 abstammendes Interface.

IDL

[ uuid(C2154680-DC71-48AE-A4E7-3F637D5FBD15), version(1.0),
  dual, oleautomation ]
interface IAutoApplication11 : IAutoApplication10;

Ab Build: 5000.

IAutoApplication11 Eigenschaften

Methoden

Name Beschreibung
AddActivation AddActivation trägt Aktivierungen ein.
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
CreateDataSetFromId Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
LogOff LogOff schließt den geöffneten Mandanten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
ExternalUserName Funktion, die in der Cobra-Schnittstelle verwendet wird.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
RequestRetryCount Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
RequestTimeOut Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication11::AddActivation Methode

AddActivation trägt Aktivierungen ein.

IDL

[id(0x00000515)]
HRESULT _stdcall AddActivation([in] BSTR FirmenName, [in] BSTR Postleitzahl,
                               [in] BSTR Key, [out, retval] long* Result);

Mit AddActivation kann man beliebige Aktivierungen, die man im Aktivierungsfenster der microtech Software eingeben kann, auch per COM übertragen. Dies ist z. B. eine Möglichkeit, den endgültigen Schlüssel einer Solution-Partner-Lösung zu übergeben. Die Parameter "Firmenname" und "Postleitzahl" können nur einmalig gesetzt werden. Ansonsten müssen die beiden Werte immer mit den schon eingetragenen Werten aufgerufen werden.

Hinweis

Bitte beachten Sie, dass diese Funktion nicht beliebig oft aufgerufen werden kann. Nach einigen fehlerhaften Aufrufen kann die Funktion nur noch stark verzögert aufgerufen werden.

Parameter Beschreibung
[in] BSTR FirmenName Der Name einer Firma, so wie er in der Aktivierung angegeben werden muss
[in] BSTR Postleitzahl Die Postleitzahl zum Firmennamen
[in] BSTR Key Der Schlüssel, z. B. aus der Cal.exe
[out, retval] long* Result Statuscode

Rückgabewerte

Rückgabewert Beschreibung
0 (S_OK) Erfolgreich ausgeführt
100 Format des Namens nicht ok (z. B. Zeichen nicht erlaubt)
101 Name zu kurz; Mindestens 5 Zeichen
110 Format der Postleitzahl nicht ok (z. B. Zeichen nicht erlaubt)
111 Postleitzahl zu kurz; Mindestens 3 Stellen
120 Firmenname und/oder Postleitzahl nicht korrekt
201 Der Schlüssel schaltet keine erweiterte Funktion frei
202 Der Schlüssel konnte nicht dekodiert werden (Zahlendreher?)
C#-Codebeispiel
ComApp = new BpNT.Application();
try
{
    try
    {
        ComApp.Init(aConnectionName, aConnectionKey, aUserName, aUserPass);
    }
    catch (Exception ex)
    {
        MessageBox.Show("ErrorHandling: " + ex.Message);
    }
    // Programm endgültig aktivieren – nicht mehrfach aufrufen!
    ComApp.AddActivation("Beispiel GmbH", "00000", "Key");
}
finally
{
    System.Runtime.InteropServices.Marshal.ReleaseComObject(ComApp);
}

3.1.13 IAutoApplication12 Interface

Von IAutoApplication11 abstammendes Interface.

IDL

[ uuid(CB38731A-7B00-46AF-8BEB-894C3C54E843), dual, oleautomation ]
interface IAutoApplication12 : IAutoApplication11;

Ab Build: 5010.

IAutoApplication12 Eigenschaften

Methoden

Name Beschreibung
AddActivation AddActivation trägt Aktivierungen ein.
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
CreateDataSetFromId Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetModifiedTableNames Liste mit geänderten Tabellen.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
LogOff LogOff schließt den geöffneten Mandanten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
ExternalUserName Funktion, die in der Cobra-Schnittstelle verwendet wird.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
RequestRetryCount Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
RequestTimeOut Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication12::GetModifiedTableNames Methode

Liste mit geänderten Tabellen.

IDL

[id(0x00000579)]
HRESULT _stdcall GetModifiedTableNames([out, retval] BSTR* Result);

Sie können mit dieser Funktion ermitteln, welche Tabellen zwischen den einzelnen Aufrufen von GetModifiedTableNames einer Änderung unterlagen. Die Funktion sollte nicht öfter als jede Sekunde aufgerufen werden. Nach dem Aufruf wird der interne Puffer geleert und die Liste der geänderten Tabellen füllt sich erneut.

Parameter Beschreibung
[out, retval] BSTR* Result String, der eine kommaseparierte Liste der Datenbanknamen enthält. Diese Namen sind identisch mit den Namen, die in der Funktion DataSetInfos['TableName'].CreateDataSet verwendet werden. z. B.: "Adressen, Artikel"

3.1.14 IAutoApplication13 Interface

Von IAutoApplication12 abstammendes Interface.

IDL

[ uuid(40A04F76-0878-47BF-9CFF-DDAA131DFCF1), dual, oleautomation ]
interface IAutoApplication13 : IAutoApplication12;

Ab Build: 5138.

IAutoApplication13 Eigenschaften

Methoden

Name Beschreibung
AddActivation AddActivation trägt Aktivierungen ein.
BzrKonfiguration Speicherfeld für benutzerbezogene Applikationsdaten.
CreateDataSetFromId Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.
DeInit DeInit meldet einen Benutzer unter COM ab.
FunctionCall Ruft eine vorgegebene Funktion auf.
GetData Führt eine Datenmengenoperation mit mDL aus.
GetKundendaten Gibt eine eindeutige Identifizierung zurück.
GetModifiedTableNames Liste mit geänderten Tabellen.
GetSpecialObject Erstellt ein Interface für ein SpecialObject.
GetVersion Gibt die Versionsnummer der microtech Programmdatei zurück.
GetVersionEx Liefert einen Versions-String.
GloKonfiguration Speicherfeld für global bezogene Applikationsdaten.
Init Initialisierung der COM-Instanz.
Konfiguration Speicherfeld für mandantenbezogene Applikationsdaten.
LogOff LogOff schließt den geöffneten Mandanten.
NewProtocoll Erstellt ein Interface für Protokolleinträge.
OpenLayoutGroup Bereitet einen Im/Export vor.
PossibleLayoutGroup Gibt die möglichen Bereiche eines Im-/Export Layouts an.
SelectMand Auswählen des gewünschten Mandanten.
WriteLn Einfaches, konsolenähnliches Write Line.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSetInfos Listet alle Metainformationen der Datenbanken auf.
Event Obsolete: Events für Datenbankaktionen.
ExternalUserName Funktion, die in der Cobra-Schnittstelle verwendet wird.
MandList Gibt eine Tabelle mit den Mandanten zurück.
MandPfad Gibt den Pfad zu den Mandantendaten zurück.
Parent Gibt das Parent Interface zurück.
RequestRetryCount Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
RequestTimeOut Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
TempPfad Gibt den Pfad des temporären Verzeichnisses zurück.

IAutoApplication13::DeInit Methode

DeInit meldet einen Benutzer unter COM ab.

IDL

[id(0x000005DD)]
HRESULT _stdcall DeInit();

Der Aufruf von DeInit meldet den Benutzer, mit dem der Init-Aufruf erfolgt ist, wieder ab. Zusätzlich wird intern auch "LogOff" ausgeführt. Dadurch ist nicht nur der "Init" sondern auch der "SelectMand"-Aufruf erneut notwendig. Wenn man die nächsten Aktionen der COM-Instanz mit einem anderen Benutzer machen möchte, ist diese Funktion notwendig.

Delphi-Codebeispiel
BpApp.Init('ConnectionName', 'ConnectionKey', 'UserName', 'UserPassword');
BpApp.SelectMand('MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName im Mandanten ...
BpApp.DeInit;
BpApp.Init('ConnectionName', 'ConnectionKey', 'UserName2', 'UserPassword2');
BpApp.SelectMand('MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName2 im Mandanten ...
C#-Codebeispiel: Vollständiger Lebenszyklus
class Program
{
    static BpNT.Application ComApp = null;

    static void Main(string[] args)
    {
        try
        {
            Console.WriteLine("Application created");
            ComApp = new BpNT.Application();

            Console.WriteLine("init:");
            init("tdroescher");
            Console.ReadLine();

            Console.WriteLine("login:");
            login();
            Console.ReadLine();

            Console.WriteLine("change:");
            change();
            Console.ReadLine();

            Console.WriteLine("logout:");
            logout();
            Console.ReadLine();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            ComApp = null;
        }
    }

    private static void init(string sUser)
    {
        Console.WriteLine("Init");
        ComApp.Init("Firmenname", "", sUser, "");
    }

    private static void login()
    {
        Console.WriteLine("SelectMand 1");
        ComApp.SelectMand("1");
    }

    private static void change()
    {
        Console.WriteLine("LogOff MAND.1");
        ComApp.LogOff(); // Schließt den geöffneten Mandant
        Console.WriteLine("SelectMand 2");
        ComApp.SelectMand("2");
    }

    private static void logout()
    {
        Console.WriteLine("DeInit");
        ComApp.DeInit(); // Schließt die gesamte Verbindung (inkl. LogOff())
    }
}

3.1.15 IAutoApplication16 Interface

Von IAutoApplication15 abgeleitetes Interface.

IDL

[ uuid(760DB4C4-EEE7-44D2-9CE0-BAAF4B06CBD2), dual, oleautomation ]
interface IAutoApplication16 : IAutoApplication15;

Ab Build: 5909.

IAutoApplication16 Eigenschaften

Methoden

Name Beschreibung
GetAppProcessId Liefert die ID des Prozesses der BpNext-Instanz zurück (PID).

IAutoApplication16::GetAppProcessId Methode

Liefert die ID des Prozesses der BpNext-Instanz zurück (PID).

IDL

[id(0x00000709)]
HRESULT _stdcall GetAppProcessId([out, retval] unsigned long* Result);
Parameter Beschreibung
[out, retval] unsigned long* Result ID des Prozesses

3.1.16 IAutoApplication17 Interface

Von IAutoApplication16 abgeleitetes Interface.

IDL

[ uuid(309D3CC4-3D7C-48A8-B033-2283635B6BA6), dual, oleautomation ]
interface IAutoApplication17 : IAutoApplication16;

Ab Build: 5909.

IAutoApplication17 Eigenschaften

Methoden

Name Beschreibung
GetAppProcessId Liefert die ID des Prozesses der BpNext-Instanz zurück (PID).
GetServerState Mit dieser Funktion kann der aktuelle Status des Datenservers abgefragt werden.

IAutoApplication17::GetServerState Methode

Mit dieser Funktion kann der aktuelle Status des Datenservers abgefragt werden.

IDL

[id(0x0000076D)]
HRESULT _stdcall GetServerState([out, retval] unsigned long* Result);

GetServerState liefert nachfolgende Werte:

Wert Bedeutung
0 Server läuft (COM-Programm kann sich anmelden)
1 Server soll beendet werden (COM-Programm soll sich abmelden bzw. kann sich nicht anmelden)
2 Server will in den Maintenance-Mode wechseln bzw. befindet sich im Maintenance-Mode (COM-Programm soll sich abmelden bzw. kann sich nicht anmelden)
3 Server ist nicht erreichbar (COM-Programm kann sich nicht anmelden)
4 Verbindung zum Server wurde getrennt (COM-Programm muss neu gestartet werden). Dieser Fall tritt ein, wenn sich das COM-Programm im Fall von 1 bzw. 2 nicht innerhalb von 5 Sekunden abmeldet. (Ab Build 5912.0016)
5 Client, über den sich das COM-Programm anmeldet, muss aktualisiert werden
Parameter Beschreibung
[out, retval] unsigned long* Result Den aktuellen Status des Datenservers

3.1.17 IAutoApplication18 Interface

Von IAutoApplication17 abstammendes Interface.

IDL

[ uuid(978DF656-C2A1-48D7-91BA-34BF5002D7E4), dual, oleautomation ]
interface IAutoApplication18 : IAutoApplication17;

Ab Build: 6137.

IAutoApplication18 Eigenschaften

Methoden

Name Beschreibung
GetAppProcessId Liefert die ID des Prozesses der BpNext-Instanz zurück (PID).
GetMandState GetMandState
GetServerState Mit dieser Funktion kann der aktuelle Status des Datenservers abgefragt werden.

IAutoApplication18::GetMandState Methode

IDL

[id(0x000007D1)]
HRESULT _stdcall GetMandState([out, retval] long* Result);

Ruft man GetMandState auf, so erhält man je nach Status den Wert 0, 1 oder 2:

Wert Bedeutung
0 Alles in Ordnung, keine Aktion erforderlich
1 Das Mandantendatum hat sich seit der COM-Anmeldung geändert. Die COM-Anwendung muss sich ab- und wieder neu anmelden.
2 Eine Parameteränderung hat stattgefunden. Die COM-Anwendung muss sich am Mandant erneut anmelden, um die Änderungen zu übernehmen.
C#-Codebeispiel
BpNT.Application bpApp = new BpNT.Application();
int mandState;

bpApp.Init("ConnName", "", "User", "Pass");
bpApp.SelectMand("1");

while (true)
{
    mandState = bpApp.GetMandState();
    switch (mandState)
    {
        case 1:
            Console.WriteLine("Tageswechsel - Reconnect erforderlich");
            Reconnect(); // Verbindung trennen und neu herstellen
            break;
        case 2:
            Console.WriteLine("Parameteränderung - Reconnect erforderlich");
            Reconnect(); // Verbindung trennen und neu herstellen
            break;
        default:
            break;
    }
}
Parameter Beschreibung
[out, retval] long* Result Status als Integer. 0 = OK, 1 = Tageswechsel durchgeführt, 2 = Parameteränderung durchgeführt