> For the complete documentation index, see [llms.txt](https://docs.geodin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geodin.com/geodin-desktop/de/integrationen-and-plug-einfg/overview-1/method-reference.md).

# Verfahren-Referenz

Diese Seite ist die maßgebliche Referenz für die GeoDin COM-API. Sie beschreibt die Methoden, die eine externe Anwendung aufrufen kann, um GeoDin (als COM-Server) zu steuern oder um externe Funktionen in GeoDin als Plug-ins zu integrieren. Die Referenz richtet sich an Softwareentwickler, die GeoDin mit anderen Produkten kombinieren oder Spezialfunktionen in GeoDin integrieren. Für jedes Verfahren ist die Pflichtfeld GeoDin-Edition angegeben.

## Übersicht

### COM-Funktionen und Plugins

GeoDin bietet die Möglichkeit, GeoDin mit externen Anwendungen zu verbinden. Dieses Kapitel beschreibt die technischen Methoden und richtet sich an Softwareentwickler, die dabei sind, GeoDin mit anderen Produkten zu kombinieren oder Spezialfunktionen in GeoDin zu integrieren.

Zum Ausführen von GeoDin durch eine externe Anwendung stehen mehrere Funktionen Verfügbar. Ein Teil dieser Funktionen ist die zur Steuerung der GeoDin-Programmschnittstelle verwendete Funktion (in diesem Fall ist GeoDin für den Benutzer Sichtbar), sodass eine externe Anwendung wie zum Beispiel ein GIS eigenständig ein Objekt im GeoDin-Objektmanager auswählt und ein GeoDin Verfahren startet. Ein anderer Teil der Funktionen ist die zum Bereitstellen von Informationen Von der GeoDin Datenbank zu Grafik Bildern von Objekte verwendete Funktion. Hier ist GeoDin normalerweise Unsichtbar und erledigt seine Aufgaben im Hintergrund. Die einzelnen Funktionen werden in der Sektion beschrieben [COM-Funktionen](#com-functions). Für jede Funktion ist festgelegt, welche GeoDin-Edition erforderlich ist.

Am anderen Hand ist es möglich, externe Anwendungen oder Funktionen in der Programmoberfläche von GeoDin zu integrieren. Solche Funktionen (so genannte Plug-ins) können zum Beispiel spezielle Berechnungen oder Datenexporte durchführen und werden in GeoDin mit einem Methodensymbol angezeigt. Eine Bezeichnung für das Einbetten und Konfigurieren dieser externen Funktionen wird in der Sektion [Plug-ins](#plug-ins) und in [Installieren von Plug-Einfg](/geodin-desktop/de/integrationen-and-plug-einfg/installing-plug-ins.md).

### COM-Funktionen

**Tipps für Benutzen Sie von GeoDin als COM-Server**

GeoDin als COM-Server verwenden (durch Erstellen von einem Objekt der Art `GeoDin.GeODinApplication`) kann durch die folgenden Parameter gesteuert werden.

#### Arbeitsverzeichnis von der Anwendung GeoDin

Standardmäßig ist das verwendete Verzeichnis "TEMP" im Verzeichnis "Local settings" von dem aktuell Benutzer als Arbeitsverzeichnis von der Anwendung GeoDin im Startmodus als COM-Server. Durch Eingeben `ExecutePath=<Verzeichnis>` in der Sektion `[System]` von dem [Konfiguration der Datei GeoDin.ini](/geodin-desktop/de/installation-and-lizenzierung/configuration-file-reference.md) Ein weiteres Verzeichnis kann definiert werden.

#### Verfügbarkeit von Plug-ins

Als Standard [Plug-ins](#plug-ins) werden nicht geladen, wenn GeoDin gestartet wird. Durch Eingabe `COMServerPlugins=wahr` in der Sektion `[System]` von dem [Konfiguration der Datei GeoDin.ini](/geodin-desktop/de/installation-and-lizenzierung/configuration-file-reference.md) Das Laden des Plug-ins kann erreicht werden.

#### Anwendungsverzeichnis von GeoDin

Das Anwendungsverzeichnis von GeoDin ist als Standard das Verzeichnis eine Ebene höher als das BIN-Verzeichnis (in dem die GeoDin.exe enthalten ist). Eine typische GeoDin-Installation hat die folgende Struktur:

```
C:\Programs\GeoDin            (enthält GeoDin.ini)
C:\Programs\GeoDin\BIN        (enthält GeoDin.exe)
C:\Programs\GeoDin\SYSLIB
C:\Programs\GeoDin\QUELLE
usw.
```

Das Anwendungsverzeichnis ist in diesem Fall `C:\Programs\GeoDin`, wobei auch die Konfigurationsdatei GeoDin.ini gelesen wird. Mit diesem Namen werden auch die Namen mehrerer Unterordner erstellt (z. B. für Quelle, QUERYDEF, LAYOUTS usw.).

Es ist möglich, das Anwendungsverzeichnis von GeoDin auf Beliebig anderes Verzeichnis zu Einrichten, sodass man unterscheiden kann, Wenn GeoDin direkt als Anwendung vom Benutzer Gestartet wird ODER als COM-Server instanziiert ist. Für einen („normalen“) Start von GeoDin durch den Benutzer kann das Anwendungsverzeichnis über einen Befehls Linie-Parameter festgelegt werden. Es muss mit dem Schlüsselwort beginnen `-af` und hat anschließend einen Vollfarbe-Verzeichnisnamen zu enthalten.

```
C:\Programs\GeoDin\BIN\GeoDin.exe -afC:\Programs\GeoDin\Solutions\Water
```

**Hinweis:** Wenn der Verzeichnisname Leerzeichen enthält, ist der gesamte Parameter in Anführungszeichen zu setzen, z. B.:

```
C:\Programs\GeoDin\BIN\GeoDin.exe "-afC:\Programs\GeoDin Solutions\Water"
```

Beim Starten von GeoDin als COM-Server ist ein Parameter der Befehlslinie nicht möglich. Von daher wurde ein Verfahren vorbereitet, um dies über die Registrierung zu hinterlegen. Hier muss der Name von dem gewählten Anwendungsverzeichnis VOR dem Start von dem COM-Server in der `REG_SZ` Schlüssel „ApplicationFolder“ im folgenden Registrierungsschlüssel:

```
[HKEY_aktuell_USER\Software\GeoDin-System\COMServer]
```

Mit beiden Methoden prüft GeoDin das Vorhandensein des Verzeichnisses und ignoriert die Einstellung, wenn es nicht gefunden wird. Weitere Prüfungen finden nicht statt. Stellen Sie sicher, dass das selektierte Verzeichnis eine Konfigurationsdatei GeoDin.ini und alle von GeoDin erforderlichen Unterverzeichnisse enthält.

### Plug-ins

**Plug-ins** Es sind externe Module (Programme / COM-Server), die über die GeoDin-Benutzeroberfläche aufgerufen werden. So kann ein Softwareentwickler den Start von einer bestimmten Anwendung integrieren, zum Beispiel eine spezielle Funktion zum Exportieren oder eine Neu-Berechnungsfunktion, in die Benutzeroberfläche des GeoDin-Programms. Für den Benutzer erscheint die Anwendung als ein „gewöhnliches“ GeoDin-Verfahren. Alle Pflichtfeld-Informationen für die gewählten Objekt(e) werden im GeoDin-Objektmanager an das Plug-in übertragen. So können vom Plug-in zusätzlich Funktionen für die Analyse für eine selektierte Anzahl von Objekten angeboten werden. Ein Plug-in kann auch eine Anwendung sein, die nicht mit der GeoDin-Datenbank arbeitet. Die Plug-in-Konfiguration kann auch den „Rechner“ des Betriebssystems in die Benutzeroberfläche des GeoDin-Programms integrieren.

Ein Plug-in kann als Anwendung (EXE-Datei) oder als COM-Funktion eines registrierten COM-Servers aufgerufen werden. Hier der Parameter Ausführen **ODER** Server in der Plug-in-Konfiguration. Ein COM-Server, der als Plug-in aufgerufen werden soll, hat bestimmte Voraussetzungen zu erfüllen, die unten beschrieben sind.

Für die Schritt-für-Schritt-Einrichtung siehe [Installieren von Plug-Einfg](/geodin-desktop/de/integrationen-and-plug-einfg/installing-plug-ins.md).

**Definition von einem Plug-in**

Die Einstellung und Konfiguration der Plug-ins, die Sie verwenden sollen, erfolgt in der Konfigurationsdatei GEODIN.INI.

Mit GeoDin 9 werden Plugins auf dem System-Tab in der Systemkonfiguration unter der Sektion „Publikationen“ definiert.

**1. Liste von Verfügbar Plug-ins**

In der Sektion `[Plugins]` Jedes Plug-in wird mit einer Linie definiert und erhält einen Namen, zum Beispiel:

```
[Plugins]
Plugin1=Berechnen
Plugin2=Exportieren
```

***Hinweis:*** *Möglicherweise die Sektion `[Plugins]` muss zu erstellt werden, wenn keine Vorige Plug-ins konfiguriert wurden. Hinzufügen einer Linie, die enthält `[Plugins]` mit einem Volltexteditor Bei dem Ende von Datei GEODIN.INI UND Mindestens einer Linie wie `Plugin1=Name von dem Plug-in`. Benutzen Sie fortlaufende Zahlen (`Plugin1=`, `Plugin2=` usw.) für die Definition von mehr als einem Plugin.*

**2. Definition eines einzelnen Plug-ins von der Liste**

Für jedes in die Liste eingetragene Plug-in `[Plugins]` eine separate Sektion in der Datei der Konfiguration GEODIN.INI muss erstellt werden, die den in Schritt 1 definierten Namen des Plug-ins enthält, Beispiel:

```
[Calculate]
Name=Calculate
Ausführen=C:\PROGRAMS\GEODIN\BIN\GPI.EXE
```

***ODER***

```
Server=GeODinPlugin.GeODinPluginSample
Modul=Module1
Symbol=C:\PROGRAMS\GEODIN\BIN\CALC.ICO
Popup=Falsch
Warten=Falsch
DB-Knoten1=1
DB-Knoten2=2,1
```

Fügen Sie mit dem Volltexteditor die betreffenden Zeilen zur Datei GEODIN.INI hinzu.

Die Parameter in dieser Sektion steuern, auf welche Objekte (im GeoDin-Objektmanager) das Plug-in angewendet werden soll, welche Programmdatei oder welche COM-Server-Funktion ausgeführt werden soll und Wenn der Benutzer auf die Ausführung der Funktion warten muss.

Die folgenden Parameter sind gesetzt:

| Parameter                                 | Bezeichnung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Name`                                    | Name des Plug-ins im GeoDin-Objektmanager (diese Namen werden unter dem Methodensymbol oder im Popup-Menü angezeigt).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `Ausführen`                               | Ausführbares Programm (Vollfarbe Dateiname mit Pfad). **Beispiel:** `C:\WINDOWS\SYSTEM32\CALC.EXE`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ***ODER*** `Server`                       | Name des COM-Servers, der die gewählte Funktion Ausführen soll. **Beispiel:** `GeODinPlugin.GeODinPluginSample`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `DBNode1..n`                              | Liste von Knoten im GeoDin-Objektmanager **Datenbanken**, Bei dem das Plug-in Gestartet werden kann. Hier können Sie Auswählen, bei welchen Knoten (Zweige und Status von Knoten) der Aufruf des Plug-ins möglich sein soll. Dies geschieht durch Auswählen einer Liste von Zweigdefinitionen Beliebig Länge, die durch eine Eingabe festgelegt werden sollte `DBNodexx`. Benutzen Sie die aufeinanderfolgenden Nummern (`DBNode1=`, `DBNode2=` etc.) für die Definition mehrerer Knoten. Siehe die Beispiele und die Syntax unten.                                                                                                                                                                                                                                                                                                                                                                       |
| `Module` (optional)                       | Name von dem Programmmodul im Plug-in; dieser Name wird als Parameter zu dem ausführbaren Programm oder zu der COM-Funktion übergeben. Wenn kein Modulname eingegeben wird, bleibt der Übertragungsparameter leer. Über diese Option ist es möglich, dass eine einzelne Anwendung oder eine COM-Serverfunktion unterschiedliche Aufgaben ausführen kann, die durch die Modul-Kennung gesteuert werden. Mehrere Funktionen können in einer externen Anwendung durch Verwendung von Modulnamen kombiniert werden, weil es zulässig ist, mehrere Plug-ins mit derselben Anwendungsdatei oder COM-Serverfunktion zu verbinden. Durch die Übertragung des Modulnamens als Parameter können in der externen Anwendung oder Funktion unterschiedliche Prozesse aktiviert werden. In diesem Fall können verschiedene Funktionen zu unterschiedlichen Symbolen mithilfe des Parameters "Icon" ausgerichtet werden. |
| `Symbol` (optional)                       | Vollfarbe Dateiname von einer ICO-Datei für die Anzeige des Methodensymbols im Methodenmanager. Wenn dieser Parameter nicht eingegeben ist, ist das Icon des ausführbaren Programms das verwendete (für COM-Server nicht möglich). Wenn das Programm Nein-Icon enthält, ist ein Norm-Icon das verwendete.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Popup` (optional)                        | Verfahren wird nur als Popup-Menü angezeigt (klicken Sie mit der Rechtes Maustaste auf das Objekt im GeoDin-Objektmanager). Setzen Sie den Wert zu `=Wahr`, wenn das Plug-in nicht als Methodensymbol, sondern nur im Popup-Menü erscheinen soll. Der Normwert ist `=falsch` -> Symbol im Verfahrensmanager.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `Warten` (optional)                       | Steuert, ob GeoDin warten soll, um die Funktion im Plug-in auszuführen. Für Anwendungen (EXE-Dateien) setzen Sie den Wert zu `=Wahr`, wenn die Funktion abgeschlossen sein soll, um in GeoDin weiterzuarbeiten. Der Standardwert von diesem Parameter ist `=falsch`. ***Hinweis:*** *Wenn ein COM-Server verwendete wird, wartet GeoDin immer, bis die Funktion beendet ist.*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `AllowOpenMethods` (optional)             | Legt fest, ob das Plug-in ausgeführt werden kann, wenn es offene Methoden gibt (z. B. Datenerfassung). Die Standardeinstellung erlaubt die Ausführung des Plug-ins: Setzen Sie den Parameter zu `=falsch`, um dies zu verhindern (in diesem Fall wird eine Warnung angezeigt).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `Nicht darstellen` (optional)             | Steuert, ob das Plug-in im Methodenmanager sichtbar ist (als Symbol oder Pop-up-Menü). Standardmäßig ist es sichtbar. Setzen Sie den Parameter `Nicht darstellen` zu `=Wahr`, um das Plug-in „Nicht darstellen“ zu verwenden. Dann kann das Plug-in nur über die [COM-Funktion](#com-functions) **"ExecuteMethodParams"**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `ExecuteAfterExpanding` (optional)        | Steuert, ob das Plug-in automatisch ausgeführt wird, wenn der Zweig zum ersten Mal geöffnet wird. Setzen Sie den Parameter `=Wahr` um das Plug-in automatisch zu starten. Plug-ins, die durch den Parameter „Nicht darstellen“ verborgen sind `Nicht darstellen=Wahr` kann automatisch gestartet werden. Auf diese Weise ist es möglich, eine Funktion nicht vom GeoDin-Benutzer aufzurufen, sondern sie wird automatisch ausgeführt, wenn dieser Zweig geöffnet wird (zum Beispiel nach dem Öffnen der Datenbank).                                                                                                                                                                                                                                                                                                                                                                                       |
| `RefreshDatenbankWörterbücher` (optional) | Dies definiert, ob nach Ausführung des Plug-ins die Datenbank-Wörterbücher entladen werden. Wenn erforderlich, werden diese automatisch neu geladen.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

**DBNode-Beispiele**

**Beispiel 1:**

```
DBNode1=3,2,1
```

Bedeutung: Das Plug-in wird auf einem Projektknoten angezeigt. Das Projekt muss bereits geöffnet sein und in einer OneTableSet-Datenbank enthalten sein.

**Beispiel 2:**

```
DBNode1=3,Boreholedatabase,1
```

Bedeutung: Das Plug-in wird nur auf geöffneten Projekten der Datenbank "Boreholedatabase" angezeigt.

**Beispiel 3:**

```
DBNode1=3, Boreholedatabase,0,P00001
DBNode2=3, Boreholedatabase,0,P00002
```

Bedeutung: Das Plug-in wird auf den Projekte mit der Projekt-Kennung P00001 ODER P00002 von der Datenbank "Boreholedatabase" angezeigt. Es ist nicht wichtig, wenn die Projekte geöffnet oder geschlossen sind.

**Beispiel 4:**

```
DBNode1=9,2,0,,2,JPG
```

Bedeutung: Das Plug-in wird in allen SQL-Datenbanken mit OneTableSet-Einstellung auf den Dokumente von der Art JPG auf der Sekunde-Position der Verfahren-Liste (nach dem Verfahren 'Voransicht') angezeigt.

**Syntax von der Definition DBNodeX=**

Die Kennung muss zwingend eingegeben werden, weitere Parameter können durch Kommas getrennt hinzugefügt werden.

```
DBNode1..n=Kennung[,Param1][,Param2][,...]
```

| Kennung | Das Plug-in wird bei dem Objekt ...     |
| ------- | --------------------------------------- |
| 1       | Datenbanken                             |
| 2       | Datenbank                               |
| 3       | Projekt                                 |
| 4       | Abfrage oder Gruppe im Zweig Objekte    |
| 5       | Abfrage oder Gruppe im Zweig Messpunkte |
| 6       | Objekt                                  |
| 7       | Messpunkte-Objekt                       |
| 8       | Dokumentenverzeichnis                   |
| 9       | Dokument                                |

| Param1 | Das Plug-in wird auf den Objekten angezeigt, die durch die Kennung in einer Datenbank in ... definiert sind ...                                                      |
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0      | Alle Datenbanken                                                                                                                                                     |
| 1      | für Kennung=1 wird das Plugin nur angezeigt, wenn derzeit keine Datenbank konfiguriert ist; für Kennung=2 nur in SQL-Datenbanken (keine Datei-basierten Datenbanken) |
| 2      | nur in SQL-Datenbanken mit OneTableSet-Einstellung                                                                                                                   |
| Name   | nur in der jeweiligen Datenbank mit dem eingegebenen Namen                                                                                                           |

| Param2 | Das Plug-in wird auf die Objekte angezeigt, die durch die Kennung in einer Datenbank definiert sind ... |
| ------ | ------------------------------------------------------------------------------------------------------- |
| 0      | unabhängig davon, ob die Datenbank oder das Projekt geöffnet ist                                        |
| 1      | nur, wenn die Datenbank oder das Projekt geöffnet ist                                                   |
| 2      | nur, wenn die Datenbank oder das Projekt geschlossen ist                                                |

| Param3 | Das Plug-in wird auf die Objekte angezeigt, die durch die Kennung in einer Datenbank definiert sind ... |
| ------ | ------------------------------------------------------------------------------------------------------- |
| Leer   | in alle Projekte                                                                                        |
| PRJID  | nur in Projekten mit der eingegebenen Kennung                                                           |

| Param4      | Das Plug-in wird in der Methodenliste an einer voreingestellten Position angezeigt...                  |
| ----------- | ------------------------------------------------------------------------------------------------------ |
| Leer oder 0 | am Ende der Liste (nach den GeoDin-Methoden)                                                           |
| 1..n        | an der eingegebenen Position, z. B. 1 - das Methodensymbol wird am Objekt an der 1. Position angezeigt |

| Param5 | Das Plug-in wird für Kennung=9 nur auf Dokumente der folgenden Art angezeigt ... |
| ------ | -------------------------------------------------------------------------------- |
| Leer   | auf allen Dokumenttypen                                                          |
| JPG    | nur auf Dokumente dieser Art (hier Beispiel: JPG-Bilder)                         |

**Verwenden einer Anwendung (EXE-Datei) als Plug-in**

Um eine Anwendung als Plug-in zu verwenden, müssen Sie den Parameter eingeben `Ausführen=Vollfarbe-Pfadname der Anwendung` in der Definition des Plug-ins. GeoDin startet die Anwendung, wenn das Verfahren aufgerufen wird, und überträgt alle Pflichtfeld-Parameter des selektierten Zweigs im GeoDin-Objektmanager. Mit diesen Daten kann das Plug-in spezielle Ausführungsoperationen für diese Objekte durchführen. Die Parameter werden in der Befehlszeile an die Anwendung übertragen. Abhängig vom selektierten Zweig im GeoDin-Objektmanager variiert die Zahl der Parameter, was in der folgenden Tabelle dargestellt wird:

| Parameter | Art                  | Inhalt                                                                                | Kennung=1 | Kennung=2 | Kennung=3 | Kennung=4-9 |
| --------- | -------------------- | ------------------------------------------------------------------------------------- | --------- | --------- | --------- | ----------- |
| 1         | Zeichenkette         | Modulname oder Leer                                                                   | X         | X         | X         | X           |
| 2         | Ganzzahl             | Bildschirmposition Links                                                              |           | X         | X         | X           |
| 3         | Ganzzahl             | Bildschirmposition nach oben                                                          |           | X         | X         | X           |
| 4         | Ganzzahl             | Kennung des Zweigs                                                                    | X         | X         | X         | X           |
| 5         | Zeichenkette         | Datenbankname \*1                                                                     |           | -         | X         | X           |
| 6         | Zeichenkette         | Registrierungsname von der Datenbank                                                  |           | -         | X         | X           |
| 7         | Zeichenkette         | Passwort-Datenbank \*2                                                                |           | -         | X         | X           |
| 8         | Zeichenkette         | Projekt-Kennung GeoDin, oder String "DB" für einen Zweig unter einer Datenbankabfrage |           | -         | -         | X           |
| 9         | String oder Ganzzahl | Abhängig von der Kennung-Auswahl / Selektion                                          |           | -         | -         | X           |

Die Art von Parameter 9 hängt von der Kennung des Zweigs ab, von wo das Plug-in gestartet wird:

| Kennung | Parameter 9                                                                                 |
| ------- | ------------------------------------------------------------------------------------------- |
| 1,2,3   | Leer                                                                                        |
| 4       | Dateiname einer temporären Datei mit PRJ\_Kennung und LOCKennung von den Objekten           |
| 5       | Dateiname von einer temporären Datei mit einer Zeichenkette von den INVIDs von den Objekten |
| 6       | PRJ\_Kennung UND LOCKennung von dem selektierten Objekt                                     |
| 7       | INVID von dem selektierten Objekt als String                                                |
| 8       | Dateiname von einer temporären Datei mit Ganzzahlen von den ADC\_IDs von Dokumente          |
| 9       | ADC\_Kennung von Dokumente                                                                  |

\*1 Datenbankname: Zusätzlich zum Datenbankname enthält diese Zeichenfolge auch die Art von Verbindung (ADO oder FireDAC) und die Verbindungszeichenfolge selbst.

\*2 Das Passwort Mai ein Teil von der Verbindungszeichenfolge sein, z. B. von Systemdatenbanken oder für Verbindungen mit einem gespeicherten Passwort. In diesem Fall ist die Zeichenfolge Leer. Das Passwort muss direkt Von der Verbindungszeichenfolge extrahiert werden.

{% hint style="warning" %}
Wenn ein Dateiname mit den IDs der Objekte an die Plug-ins übertragen wird, ist das Plug-in dafür verantwortlich, diese Datei zu Löschen! Wenn die Datei nicht gelöscht wird, bleibt sie im Verzeichnis TEMP des aktuell verwendeten Benutzers.
{% endhint %}

Die Datei mit den IDs enthält so viele Zeilen, wie Objekte in der Abfrage oder Gruppe enthalten sind.

Am Zweig Kennung = 4 enthält jede Linie die PRJID und LOCID, getrennt durch Kommas (Beispiel: PRJ001,3).

Am Zweig Kennung = 5 enthält jede Linie die INVID (Beispiel: PRJ0010004FIL001).

Am Zweig Kennung = 8 enthält jede Linie die ADC\_Kennung (Beispiel: 23).

Die Parameter 1 und 2 von der „idealen“ Fensterposition Zulassen, das Fenster der externen Anwendung analog zu den GeoDin Methoden Am Rechtes unteren Bereich unter dem Methodensymbol ODER der Popup-Menü-Eingabe zu positionieren.

**Verwendung eines COM-Servers als Plug-in**

Benutzen Sie einen COM-Server als Plug-in; zu diesem Zweck müssen Sie den Parameter eingeben. `Server=vollständiger Name von der COM-Server-Schnittstelle` in der Definition des Plug-ins. Der vollständige Name besteht aus dem Namen des COM-Servers und dem Namen der Schnittstelle, die durch einen Punkt getrennt sind, z. B. `GeODinPlugin.PluginInterface`.

Die Schnittstelle hat eine Funktion mit dem Namen bereitzustellen `GeODinExecutePlugin`, das eine Zeichenkette als Transfer-Parameter empfängt und einen OleVariant-Parameter zurückgibt:

```
function GeODinExecutePlugin(const Params: WideString): OleVariant;
```

***Hinweis:*** *Die Syntax der Definition der Funktion hängt von der Programmiersprache ab, in der das Plug-in erstellt wird.*

Die Zeichenkette, die in params übertragen wird, hat die Struktur einer Konfigurationsdatei mit den folgenden Abschnitten und Parametern:

```
[Params]              Allgemeine Parameter
Links=                 X ideale Position von einem Verfahren, das ein Fenster anzeigt
Oben=                  Y ideale Position von einem Verfahren, das ein Fenster anzeigt
Modul=               Modulname (Von GeoDin.ini)
DBNode=               Kennung von dem selektierten Zweig
SolutionName=         Name von der GeoDin-Lösung (wenn installiert)
SolutionVersion=      Version von der GeoDin-Lösung (wenn installiert)
Datenbank=             Datenbankname: ADOConnection
Benutzername=             Benutzer Kennung
Passwort=             Datenbank Passwort
Owner=                Name von dem Eigentümer von der Datenbank Tabelle
PRJID=                Projekt Kennung ODER "DB"
QueryName=            Name von der Abfrage, in der die selektiert Objekte enthalten sind

[Objekte]             Liste von den Objekt Kennungen von den selektiert Objekten
Kennung1
ID2
...

[Abfrage]               Sektion mit Elementen der Abfrage (nur für Systemabfragen)
Auswählen=               Auswählen Teil von einem SQL-Befehl
Von=                 Von Teil von einem SQL-Befehl
Where=                Where-Teil von einem SQL-Befehl
Sortieren nach=             Sortierteil von einem SQL-Befehl
```

Erklärung:

Die Position kann vom Plug-in verwendet werden, um einen Dialog entsprechend den Positionen für GeoDin-Methoden zu platzieren. Der Parameter DBNode enthält die Kennung des selektierten Zweigs (siehe Bezeichnung von DBNode oben). Die Datenbankverbindung wird durch den Datenbanknamen angegeben (bestehend aus Name und Verbindungszeichenfolge, getrennt durch einen Doppelpunkt), Anmeldeinformationen (für SQL-Datenbanken) und gegebenenfalls den Eigentümernamen. Der Parameter PRJID ist mit der GeoDin-Projektkennung belegt, wenn die selektierten Zweige unter einem Projekt liegen, andernfalls enthält dieser Parameter die feste Zeichenfolge "DB".

Art von Objekt-Kennung:

* Objekte: PRJ\_Kennung und LOCKennung, durch Kommas getrennt
* Messpunkte: INVID als Zeichenfolge
* Dokumente: ADC\_Kennung von den Dokumenten

Wenn Systemabfragen verwendet werden, werden die Eigenschaften von SQL-Befehlen, die die Eingabe von Objekten im Objektmanager verursacht haben, in der Sektion "Abfrage" übertragen.

Der Rückgabewert von der Funktion ist für weitere Erweiterungen reserviert. Der Wert sollte zu Null gesetzt werden, da er im Moment nicht zurückgegeben wird.

**Plug-in zu Erstellen Berichte**

Abgesehen von der Ausführung von Plug-ins als Verfahren im GeoDin-Objektmanager können außerdem verwendete Plug-ins verwendet werden, um Berichte zu erstellen. Diese Art von Plug-ins kann in Layouts und Grafiken als verwendete Plug-ins eingesetzt werden, um eine stark besondere Art von Bericht in einer Grafik zu realisieren. Um ein solches Plug-in zu entwickeln, ist eine komplexe Aufgabe, weil eine GeoDin-Klasse im XML-Format erstellt und als Parameter zu der Funktion zurückgegeben werden muss. Eine Bezeichnung einer GeoDin-Klasse im XML-Format ist hier nicht enthalten (Informationen werden auf Anfrage bereitgestellt); nur die Einstellung von Bericht-Plug-ins wird hier beschrieben:

**1. Liste von Verfügbar Bericht-Plug-ins**

In der Sektion `[Berichts-Plugins]` Jedes Plug-in wird durch eine Linie definiert und mit einem Namen versehen.

**Beispiel:**

```
[Berichts-Plugins]
Plugin1=Sonderbericht
```

**2. Definition eines einzelnen Bericht-Plugins von der Liste**

Für jedes Plug-in, das in der Liste definiert ist `[Berichts-Plugins]` eine separate Sektion in der Konfigurationsdatei GEODIN.INI mit dem Namen von dem in Schritt 1 definierten Plug-in muss zu diesem Zweck erstellt werden.

**Beispiel:**

```
[Sonderbericht]
Name=Sonderbericht Wasser
Server=GeODinReportPlugin.GeODinReportPluginSample
Modul=Module1
ExecuteWithOutData=Falsch
```

| Parameter              | Bezeichnung                                                 |
| ---------------------- | ----------------------------------------------------------- |
| `Name`                 | Berichtsname bei den Grafikelemente "Bericht"               |
| `Server`               | Name der Schnittstelle von dem COM-Server                   |
| `Module`               | optionaler Modulname                                        |
| `Ohne Daten ausführen` | Auswahl / Selektion von der Art der Ausführung des Plug-ins |

Der Modulname wird zu dem Plug-in übertragen, sodass verschiedene Berichte in einer COM-Funktion erstellt werden können. Durch das Festlegen der Option `ExecuteWithOutData=Falsch` Das Plug-in ist durch GeoDin Gestartet, Wenn die Grafik ein Layout wählen Ohne Daten-Verbindung ist. Durch das Festlegen der Option `ExecuteWithOutData=wahr` Es beginnt nur in einer Grafik mit Daten, die verbunden sind.

Zu Benutzen Sie einen COM-Server als Bericht-Plug-in geben Sie in der Definition von dem Plug-in den Parameter ein `Server=vollständiger Name von der COM-Server-Schnittstelle`. Der Vollfarbe Name besteht von dem Namen von dem COM-Server UND dem Namen der Schnittstelle, die durch Kommas getrennt sind, z. B. `GeODinPlugin.PluginInterface`.

Die eingegebene Schnittstelle hat eine Funktion mit dem Namen bereitzustellen `GeODinGetGraphicReport`, die eine Zeichenkette als Übergabeparameter und ein OleVariant als Rückgabeparameter erhält:

```
function GeODinGetGraphicReport(const Params: WideString): OleVariant;
```

***Hinweis:*** *Die Syntax der Definition der Funktion hängt von der Programmiersprache ab, in der das Plug-in erstellt wird.*

Der in params übertragene String hat die Struktur von einer Konfigurationsdatei mit den Abschnitten und Parametern wie oben für die Server-Plugins beschrieben. Als Rückgabe wird ein XML-Datenstrom gemäß der GeoDin-Klasse C\_GraphicDrawReport erwartet.

### Fehlerzahlen

Die Fehlerzahlen sind für Alle Funktionen festgelegt. Sie werden von [ExceptionValue](#exceptionvalue).

| Zahl | Bedeutung                                                                                                                                                                                                                                                                                   |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1    | Systemfehler (Systemressourcen sind erschöpft o. ä.)                                                                                                                                                                                                                                        |
| 2    | Funktion nicht lizenziert                                                                                                                                                                                                                                                                   |
| 3    | Initialisierungsfehler (COM-Server hat nicht ODER unvollständig Gestartet)                                                                                                                                                                                                                  |
| 4    | Layout wählen Datei (Parameter LayoutFileName) oder das Layout / Bericht von der Layoutliste kann nicht geladen werden (falscher Name, Datei fehlt, ist defekt o.ä.)                                                                                                                        |
| 5    | Fehler im Layout (z. B. Objektrahmen existiert nicht)                                                                                                                                                                                                                                       |
| 6    | Datenbank kann nicht geöffnet werden (falscher Datenbankname, falscher Login)                                                                                                                                                                                                               |
| 7    | Objekt kann nicht geladen werden (falsche oder defekte Projekt-Kennung, Objekt-Kennung, defekte Dateien im GeoDin SYSLIB-Verzeichnis)                                                                                                                                                       |
| 8    | Die im Parameter OutFileName selektierte Datei kann nicht gespeichert werden (falscher Dateiname, Rechte)                                                                                                                                                                                   |
| 9    | Das selektierte Ausgabegerät (Drucken) ist in der Konfigurationsdatei GeoDin.INI nicht definiert.                                                                                                                                                                                           |
| 10   | Das Drucken-Gerät, das durch die Konfiguration-Eingabe definiert wird, kann in der Liste von den installierten Drucker-Treibern nicht gefunden werden.                                                                                                                                      |
| 11   | Fehler beim Erstellen der Datei zum Drucken (z. B. falsche Einstellung von Papierformat, der Drucker-Treiber unterstützt dieses Papierformat nicht)                                                                                                                                         |
| 12   | Fehler beim Übertragen der Abgeschlossen Drucken Datei als Ergebnis von der Funktion (SpoolTimeOut definieren)                                                                                                                                                                              |
| 13   | Das Erstellen der Objekt-Eingabe oder der Objektgruppe ist nicht möglich (falsche Objekt-Kennung, Objektart)                                                                                                                                                                                |
| 14   | Ungültige MethodID - die Funktion ist nicht Verfügbar                                                                                                                                                                                                                                       |
| 15   | Eine Auswahl / Selektion ist nicht möglich, weil das markierte Objekt nicht geschlossen werden kann. Beispiel: Wenn das aktuell Objekt bearbeitet ist und fällig zu Syntaxfehler in den Daten nicht möglich ist, Links zu verlassen, ist das Markieren eines anderen Objekts nicht möglich. |
| 16   | Der Ausdruck kann nicht Gestartet werden, weil kein Grafikfenster geöffnet ist.                                                                                                                                                                                                             |

## Referenz: COM-Methoden

### ExceptionValue

Funktionen, um den Fehlerstatus zu identifizieren.

```
Funktion ExceptionValue:Ganzzahl;
```

Diese Funktion zeigt den Fehlerstatus von der zuvor aufgerufenen Funktion. Der Rückgabewert ist 0, Wenn die zuvor aufgerufene Funktion korrekt gearbeitet hat. Die möglichen Fehlernummern sind unter [Fehlerzahlen](#error-numbers).

```
Funktion ExceptionMsg:string;
```

(Normausgabe Pflichtfeld)

Zurückgabe des Fehlertextes eines zuvor fehlgeschlagenen Funktionsaufrufs. Wenn `ExceptionValue <> 0` die vollständige Fehler-Mitteilung kann mit dieser Funktion abgefragt werden.

### ObjektManagerVisible

Funktion zum Darstellen oder Nicht darstellen des GeoDin-Fensters.

```
Eigenschaft ObjektManagerVisible:boolean
```

Wenn diese Eigenschaft auf "Wahr" oder "Falsch" gesetzt wird, wird die Sichtbarkeit des GeoDin-Objektmanagers gesteuert.

### LizenzInfo

Funktionen zur Bestimmung der Lizenzinformation.

```
Funktion LizenzInfo:string;
```

Diese Funktion ist ab der Essentials-Edition verfügbar.

Die Antwort enthält Informationen auf GeoDin und die Verfügbaren Module.

```
Lizenzinformation:
Buildnummer: G1840809
Donglenummer: unbekannt
GeoDin - Editionen
Professional
```

Lösungsinformationen mit Versionszahl werden fortlaufend ausgegeben, Wenn sie Verfügbar sind.

### Standort auswählen

Funktionen zum Markieren (Auswahl / Selektion) eines Objekts im Objektmanager.

```
Funktion SelectLocation(Datenbank, Benutzername, Passwort, ProjectID:Widestring; LocationID:Ganzzahl):Ganzzahl;
```

Diese Funktion ist Verfügbar Von dem Basismodul aufwärts.

Das angegebene Objekt ist im GeoDin Objektmanager markiert und wird zum aktuellen Objekt. Als Objekt-ID kann auch -1 übertragen werden. In diesem Fall ist das Projekt GeoDin im Objektmanager markiert und wird zum aktuellen Objekt.

| Parameter      | Bezeichnung                                                                          |
| -------------- | ------------------------------------------------------------------------------------ |
| `Datenbank`    | Name der Datenbankverbindung, zum Beispiel "GeoDin COM example"                      |
| `Benutzername` | Datenbank-Anmeldename (für Access ein Leerzeichen ' ', kein leerer String!)          |
| `Passwort`     | Datenbank-Anmeldepasswort (für den Zugriff ein Leerzeichen „ “, kein leerer String!) |
| `Projekt-ID`   | GeoDin-Projektkennung (6 Ziffern)                                                    |
| `Objekt-ID`    | GeoDin-Objektkennung                                                                 |

{% hint style="info" %}
Der Rückgabewert von der Funktion ist 0, Wenn die Funktion ausgeführt wird. Der Rückgabewert ist 1, Wenn ein Fehler aufgetreten ist. Siehe [ExceptionValue](#exceptionvalue) und ExceptionMsg.
{% endhint %}

### Objekt auswählen

```
function SelectObject(Params:Widestring):Ganzzahl;
```

Das angegebene Objekt (Datenbank, Projekt, Abfrage, Objekt, Messpunkte) ist im GeoDin-Objektmanager markiert und wird zum aktuell ausgewählten Objekt.

Auf die Steuerung der Funktion wird über eine Zeichenkette im Papierformat von einem Konfigurationsblock zugegriffen:

```
[Parameter]
Datenbank=
Benutzername=
Passwort=
Objekttyp=
Elternknoten=
Abfrage=
Objekt-ID=
Erweitern=
```

Die Parameter haben die folgende Bedeutung:

| Parameter      | Bezeichnung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Datenbank`    | Name der Datenbankverbindung, zum Beispiel "GeoDin COM example"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `Benutzername` | Datenbank-Loginname (für Access Leer, intern verwendete man ein Leerzeichen ' '!)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `Passwort`     | Datenbank-Loginpasswort (für Access Leer, intern verwendete man ein Leerzeichen ' '!)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `Objekttyp`    | `0` - Der Datenbankzweig oder der Projektzweig sollte selektiert werden. Um den Datenbankzweig auszuwählen, muss der Parameter `Elternknoten` muss auf `=Datenbank`, die Parameter `Abfrage` UND `Objekt-ID` bleiben leer (keine Eingabe). Um einen Projektzweig auszuwählen, muss der Parameter `Elternknoten` muss auf `=Projekt`, der Parameter `Objekt-ID` muss die Projekt-Kennung enthalten (z. B. `Objekt-Kennung=PRJ001`), der Parameter `Abfrage` bleibt leer (keine Eingabe). `1` - Der Zweig "Objekte" oder eine Objektabfrage sollte selektiert werden. `2` - Der Zweig "Messpunkte" oder eine Messabfrage oder Messpunkte sollte selektiert werden.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `Elternknoten` | `=Datenbank`: definiert, dass das zu selektierende Objekt direkt unter der Datenbank als Abfrage oder innerhalb einer Abfrage von dieser Art liegen muss. Der Parameter `Abfrage=` definiert den Namen der Abfrage von dieser Art. `=DatenbankAbfragen`: definiert, dass das Objekt, das selektiert werden soll, in den Zweig-Objekten (`ObjektArt=1`) ODER in den Zweig-Messungen (`ObjektArt=2`) von der Datenbank. Der Parameter `Abfrage=` definiert den Namen der Abfrage von dieser Art. `=Projekt`: definiert, dass das Objekt, das selektiert werden soll, direkt unter der Abfrage ODER innerhalb von einer Abfrage dieser Art liegen muss. Der Parameter `Abfrage=` definiert den Namen einer Abfrage von dieser Art. `=ProjektAbfragen`: definiert, dass das Objekt, das selektiert werden soll, entweder in den Zweig-Objekten (`ObjektArt=1`) ODER in den Zweig-Messungen (`ObjektArt=2`) des Projekts. Der Parameter `Abfrage=` definiert den Namen von der Abfrage.                                                                                                                                                                           |
| `Abfrage`      | Dieser Parameter, ein Optionaler Parameter, definiert den Namen der Abfrage, die selektiert werden soll, oder die Abfrage, welche das zu selektierende Objekt enthält. Wenn dieser Parameter nicht eingegeben wird, selektiert GeoDin automatisch die Abfragen "Alle Objekte" oder die entsprechende Abfrage oder den Messungstyp, der von der Messungs-Kennung (dreistellig) in der INVID definiert ist.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `Objekt-ID`    | Der Parameter `Objekt-ID` gibt das gewählte Objekt an. Wenn `Objekt-ID` ist Leer oder enthält nur eine sechsstellige Projekt-Kennung, nur die Zweige (in diesem Fall Abfragen), die definiert sind durch `Elternknoten` UND `Abfrage`, werden selektiert, Ohne ein bestimmtes Objekt oder Messpunkte auszuwählen. Eine Objekt-Kennung muss direkt auf die Projekt-Kennung folgen und von einer vierstelligen Zeichenfolge bestehen, zum Beispiel `PRJ0010022` = Projekt Kennung: PRJ001 UND Objekt Kennung 22. Die Zahl von der Objekt Kennung muss mit Nullen abgeschlossen sein und hat aus genau vier Zeichen zu bestehen. Wenn ein Messpunkte selektiert sein sollte, muss eine sechzehnstellige INVID eingegeben werden, zum Beispiel `PRJ001022FIL001`. Eine Ausnahme ist die Auswahl / Selektion von einer GeoDin Messpunktabfrage von der Art "Filter" ODER "Beispiel". Mit einer `Objekt-ID` von der Art `= PRJ001????FIL` (`ObjektArt=2`, `ParentNode=Projektabfragen`, `Abfrage=Leer`) zum Beispiel kann die Abfrage "Filter" in den Messpunkte des Projekt PRJ001 selektiert werden, Ohne einen bestimmten Messpunkte in diesem Zweig zu wählen. |
| `Erweitern`    | Dieser Parameter definiert, ob der selektiert Zweig gleichzeitig geöffnet werden soll. Benutzen Sie die Einträge `=Wahr` ODER `=falsch` um den Öffnungsprozess zu bestimmen. Der Norm Wert von `Erweitern` ist `=Wahr`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

{% hint style="info" %}
Der Rückgabewert von der Funktion ist 0, Wenn die Funktion ausgeführt wurde. Der Rückgabewert ist 1, Wenn ein Fehler aufgetreten ist. Siehe [ExceptionValue](#exceptionvalue) und Ausnahmen.
{% endhint %}

### CreateObjectSelection

```
function CreateObjectSelection(Datenbank, Benutzername, Passwort, ObjektIDs: WideString; ObjektTyp: Ganzzahl; RefName: WideString; VerfahrenID: Ganzzahl; VerfahrenParameter: WideString): Ganzzahl;
```

Ein oder mehrere Objekte werden dem GeoDin-Objektmanager hinzugefügt. Optional kann an einem Objekt oder einer Objektgruppe ein Verfahren mit Parametern gestartet werden.

| Parameter         | Bezeichnung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Datenbank`       | Name der Datenbankverbindung, z. B. "GeoDin COM example"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Benutzername`    | Datenbank-Anmeldename (für Access ein Leerzeichen ' ', kein leerer String!)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `Passwort`        | Datenbank-Anmeldepasswort (für den Zugriff ein Leerzeichen „ “, kein leerer String!)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `ObjektIDs`       | Zeichenkette mit einer oder mehreren Objekt-IDs. Diese werden als INVID-Werte interpretiert, falls die `ObjektTyp = 1` ODER `2`. Falls die `ObjektTyp = 3` sie werden als Werte von ADC-Kennungen interpretiert. Die INVIDs können von den Tabellen LOCREG, FILREG oder PRBREG entnommen oder gemäß den Regeln aufgebaut werden. Die ADC-Kennungen müssen in der Tabelle ADC\_DATA enthalten sein. Durch Eingabe einer einzelnen Kennung wird ein einzelnes Objekt hinzugefügt und selektiert. Wenn mehrere Kennungen eingegeben werden, müssen diese durch CRLF (`$0D$0A`) (String-Listenobjekt mit mehreren Zeilen). Wenn mehrere Objekte hinzugefügt werden, ergibt sich eine Gruppe, die nach dem Hinzufügen selektiert wird. |
| `Objekttyp`       | Bei Verwendung von `ObjectType=0` werden die Objekte als ein Objekt interpretiert. Bei Verwendung von `ObjektArt=1` werden die Objekte als Messpunkte hinzugefügt. Diese Option ist insbesondere für INVIDs von der Tabelle LOCREG relevant, da diese entweder Objekte oder Messpunkte sein können. Das Hinzufügen von INVIDs von den Tabellen FILREG oder PRBREG mit dem `ObjectType=0` führt zu einem Fehler. Bei Verwendung von `ObjectType=3` werden Dokumente hinzugefügt und die Kennungen werden als ADC-Kennung interpretiert.                                                                                                                                                                                            |
| `RefName`         | Wenn `ObjektIDs` Wenn es nur ein Objekt enthält, wird dieser Parameter nicht verwendet. Für mehrere Objekte sollte dieser Parameter einen Gruppennamen enthalten, um die Benutzernavigation zu vereinfachen (wenn eine leere Zeichenkette gewählt wird, heißt die Gruppe "Neue Gruppe").                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `VerfahrenID`     | Optionale Angabe einer VerfahrenID. Startet das entsprechende Verfahren. Wird als VerfahrenID -1 übertragen, wenn kein Verfahren gestartet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `VerfahrenParams` | Wird nur verwendet, wenn `VerfahrenID <> -1`. Wird zur Steuerung des Aufrufs des Verfahrens verwendet. Siehe [ExecuteVerfahrenParams](#executemethodparams).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

{% hint style="info" %}
Der Rückgabewert von der Funktion ist 0, Wenn die Funktion ausgeführt wird. Der Rückgabewert ist 1, Wenn ein Fehler aufgetreten ist. Siehe [ExceptionValue](#exceptionvalue) und ExceptionMsg.
{% endhint %}

### MethodListAsString

Funktionen zum Starten von GeoDin-Methoden.

```
function MethodListAsString:string;
```

Gibt eine Liste von Methoden zurück, die für das selektierte Objekt aufgerufen werden können. Die Ergebniszeichenfolge kann aus mehreren Linien (durch CRLF getrennt) bestehen, wobei jede Linie ein Verfahren ist. Eine Verfahrenseingabe besteht aus der MethodID, gefolgt von einem Komma und dem Namen des Verfahrens (z. B. `2,Grafik bearbeiten`). Die MethodID kann im Verfahren verwendete werden [ExecuteMethod](#executemethod). Wenn kein Verfahren verfügbar ist, ist die Rückgabezeichenfolge leer.

### ExecuteMethod

```
function ExecuteMethod(MethodID:Ganzzahl):Ganzzahl;
```

Diese Funktion ist im GeoDin-Basismodul verfügbar. Je nach Verfahren (z. B. Protokolle, Labore ...) können andere Module erforderlich sein.

Die über diese Funktion Verfügbar gemachten Verfahren-IDs (und über [ExecuteVerfahrenParams](#executemethodparams)) sind unter dokumentiert [Verfahren-Parameter](#method-parameters).

{% hint style="info" %}
Der Rückgabewert von der Funktion ist 0, wenn die Funktion ausgeführt wird. Der Rückgabewert ist 1, wenn ein Fehler aufgetreten ist.
{% endhint %}

### ExecuteVerfahrenParams

```
Funktion ExecuteVerfahrenParams(VerfahrenID:Ganzzahl; VerfahrenParams: WideString):Ganzzahl;
```

Diese Funktion ist im GeoDin-Basismodul verfügbar. Je nach Verfahren (z. B. Protokolle, Labore ...) können andere Module erforderlich sein.

Startet ein GeoDin-Verfahren mit Parameter. Die gültigen Verfahren-IDs sind unter [ExecuteMethod](#executemethod) und in [Verfahren-Parameter](#method-parameters).

{% hint style="info" %}
Der Rückgabewert von der Funktion ist 0, wenn die Funktion ausgeführt wird. Der Rückgabewert ist 1, wenn ein Fehler aufgetreten ist.
{% endhint %}

### GetBild

Funktion zum Erstellen eines Bildes.

```
Funktion GetBild(const Datenbank, Benutzername, Passwort, ProjectID: WideString; LocationID: Ganzzahl; const VersionName, LayoutFileName, OutFileName: WideString; Bildtyp, MaxResolution, Kompression, Maßstab, PageNumber: Ganzzahl; out PageCount: Ganzzahl): OleVariant;
```

{% hint style="info" %}
**Hinweis:** Diese Funktion ist nur mit einer GeoDin Server-Lizenz Verfügbar. Dieses Feature ist im Bildservermodul Verfügbar.
{% endhint %}

| Parameter          | Bezeichnung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Datenbank`        | Name der Datenbankverbindung, z. B. „GeoDin COM Example“                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `Benutzername`     | Datenbank-Anmeldename (für Access ein Leerzeichen ' ', kein leerer String!)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Passwort`         | Datenbank-Anmeldepasswort (für den Zugriff ein Leerzeichen „ “, kein leerer String!)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Projekt-ID`       | GeoDin-Projektkennung / Identifikation (6 Zeichen)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `Objekt-ID`        | GeoDin-Objektkennung / Identifikationsnummer                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `Versionsname`     | Leere Zeichenfolge `''` oder die relevanten Versionen von Bohrlochprotokollen / Bodenprofil und Ausbauplan, die anzuzeigen sind. Dieser Parameter wird nur für Objektarten der bayerischen geologischen Fachbehörde (Landesamt) unterstützt. `Versionsname` enthält entweder eine Zeichenfolge ohne Tabulatorzeichen – dann wird hier der Name der Version des Bodenprofils angegeben – ODER `Versionsname` enthält zwei Zeichenfolgen, verbunden durch ein Tabulatorzeichen; dann entspricht dies dem Namen der Version des Bodenprofils, gefolgt von dem Namen der Version des Ausbauplan (`SVVersion+chr(9)+ASBVersion`). Bei den Objektarten des Bayerischen Landesamts werden die Namen von Versionen durch den PKEY definiert. |
| `LayoutDateiname`  | Vollfarbe / vollständiger Dateiname von der Layout wählen Datei, z.B. `"C:\PROGRAMs\GEODIN\LAYOUTS\BOREHO1.GLO"` ODER `'C:\PROGRAMDATA\GEODIN\LAYOUTS\BOHRPR1.GLO'`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `Ausgabedateiname` | Entweder leerer String (keine Datei wird erstellt) oder vollständiger / kompletter Dateiname für die resultierende JPG-Bilddatei, z. B. `"C:\SAMPLE1.JPG"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `Bildtyp`          | `1` (=JPG); `2` (=JPG, fehlende Daten ODER falsche Grafikelemente werden gestrichelt dargestellt, wie in der Voransicht); `11` (=PNG); `12` (=PNG, gestrichelt angezeigt); `21` (=EMF); `22` (=EMF, gestrichelt angezeigt); `31` (=WMF); `32` (=WMF, gestrichelt angezeigt)                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Max. Auflösung`   | Auflösung eines Rasterbilds für die längste Seite des Papierformats des gewählten Layouts, z. B. 1500                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `Kompression`      | Bereich von Werten von 0 zu 100. Steuert die Qualität / Kompression für JPG-Bilder und die Geschwindigkeit / Kompression für PNG-Bilder. Detaillierte Informationen sind unten angegeben.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `Maßstab`          | Vertikalmaßstab des Objekts im Layout (überschreibt die Einstellungen im Layout; die Optionen "Auf Seite skalieren" und "Bei Fehldarstellung anpassen" werden nicht beeinflusst und können zu einer automatischen Anpassung des Maßstabs führen; Vorgaben im Layout "Lesen von" werden ignoriert).                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `Seitenzahl`       | Zahl der Seite zu anzeigen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `Seitenanzahl`     | Rückgabe von der Seite Zahl von der Visualisierung von dem aktuell Objekt in dem selektiert Maßstab                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

Die Funktion gibt das Bild als OleVariant zurück, sodass kein Umweg über die OutFile erforderlich ist.

***Hinweis:*** *Der Parameter `Kompression` nicht verwendete EMF ODER WMF-Bilder während der Erstellung.*

Wenn Sie ein EMF-Bild erstellen, der Parameter `Max. Auflösung` kann zu Steuerung der Auflösung verwendete werden. Durch Übertragen von 0 wird die Auflösung von dem EMF-Bild intern Berechnet (wie ein direktes Exportieren von der GeoDin Programm Benutzeroberfläche). Wenn ein Wert `> 0` Der maximale horizontale Bereich von dem EMF-Bild wird so übertragen, dass der angegebene Wert nicht überschritten wird. Das resultierende Bild kann einen geringeren horizontalen Bereich als der angegebene Wert haben, weil die Grenzen von dem EMF-Bild (Boundary box) zu den enthaltenen Grafik-Elementen ausgerichtet sind. Wegen von diesem kann eine Visualisierung mit dem gleichen Layout wählen zu EMF-Bildern mit einem unterschiedlichen horizontalen Bereich für verschiedene Bohrungen führen, während der Bereich von den Bildern gleich ist, wenn Raster-Bilder erstellt werden.

**Verwendung des Parameters Kompression:**

JPG: Qualität UND Kompression

* 0 = niedrig Qualität / hoch Kompression
* 100 = hoch Qualität / niedrig Kompression

Beispielgrößen mit `Maximale Auflösung = 1500` für eine A4-Seite mit dem Layout „Bohrprofil“:

| Kompression | Größen in KB | Kommentar                           |
| ----------- | ------------ | ----------------------------------- |
| 0           | 48           | nicht verwendbar                    |
| 25          | 85           | stark intensive Streifen            |
| 50          | 109          | deutliche Streifen                  |
| 75          | 135          | gute Anzeige                        |
| 85          | 157          | gute Anzeige                        |
| 100         | 320          | stark Löschen Bild, aber stark groß |

PNG: Geschwindigkeit UND Kompression

* 0 = stark zeitaufwendig / hohe Kompression
* 100 = stark schnell / niedrige Kompression

| Kompression | Größen in KB | Kommentar                      |
| ----------- | ------------ | ------------------------------ |
| 0           | 42           | extrem zeitaufwendig (>30 sek) |
| 25          | 72           | effiziente Erstellung (5 sek)  |
| 50          | 99           | schnelle Erstellung            |
| 75          | 157          | schnelle Erstellung            |
| 75          | 564          | stark große Datei              |
| 100         | 564          | stark große Datei              |

Werte über 70 sollten nicht verwendet werden; die verwendete Bibliothek erstellt diese PNG-Dateien sporadisch fehlerhaft, sodass die Bilder nicht mit allen Programmen angezeigt werden können.

### GrafikBreite

```
Funktion GrafikBreite: Ganzzahl
```

Gibt die Breite von der Grafik zurück, die beim letzten Aufruf von GetImage erstellt wurde. Die Funktion sollte nur verwendet werden, wenn es in der aufgerufenen Anwendung keine Möglichkeit gibt, diese Parameter selbst abzurufen.

### GrafikHöhe

```
Funktion GrafikHöhe: Ganzzahl
```

Gibt die Höhe von der Grafik zurück, die beim letzten Aufruf von GetImage erstellt wurde. Die Funktion sollte nur verwendet werden, wenn es in der aufgerufenen Anwendung keine Möglichkeit gibt, diese Parameter selbst abzurufen.

### GrafikSeitenanzahl

```
Funktion GraphicPageCount:Ganzzahl
```

Gibt die Seitennummer zurück, die erstellt wurde, als GetImage oder GetPrintFile beim letzten Mal aufgerufen wurde. Sie ist gleich dem out-Parameter PageCount von beiden Funktionen. Die Funktion sollte nur als verwendete Variante dienen, wenn die aufrufende Anwendung den out-Parameter von beiden Funktionen nicht verarbeiten kann.

### SysInfo

Funktion zur Ermittlung von Systeminformationen.

```
Funktion SysInfo(Param:string):OleVariant;
```

Diese Funktion ist von der Essentials-Edition verfügbar.

Sie gibt Systeminformationen abhängig von dem gewählten Parameter zurück. Die folgenden Parameter sind verfügbar:

1. `SysInfo(GeODinINIFileName)`: gibt den vollständigen Pfad und Dateinamen der aktuell gültigen GeoDin.ini zurück.
2. `SysInfo(ProgramDataFolder)`: gibt den Programmdatenpfad zurück.
3. `SysInfo(Anwendungsverzeichnis)`: gibt das Anwendungsverzeichnis zurück.

## Verfahren-Parameter

Die folgenden Abschnitte beschreiben die `VerfahrenParams` Zeichenfolgen, die von [ExecuteMethod](#executemethod) UND [ExecuteVerfahrenParams](#executemethodparams) für die einzelnen GeoDin-Verfahren (identifiziert durch ihre Verfahrens-ID).

### Datenerfassung und -pflege

**Verfahrens-ID = 1 (Datenerfassung und -pflege)** - `VerfahrenParams`:

A) keine Eingabe

Die Datenerfassung wird gestartet (Editor für Allgemeine Sondierungen); wenn dieses Verfahren bereits gestartet ist, bleibt die aktuelle Datenmaske (Allgemeine Sondierungen, Schichtdaten usw.) aktiv.

B) Auswählen der gewünschten Editormaske durch Angabe einer Parameter-Datenzeichenfolge von der Form:

```
[Parameter]
EditType=Zahl
```

Verfügbar sind die Zahlen:

| Zahl | Editormaske                                                                        |
| ---- | ---------------------------------------------------------------------------------- |
| 1    | Allgemeine Sondierungen                                                            |
| 2    | Schichtdaten                                                                       |
| 3    | Probendaten                                                                        |
| 4    | Ausbaudaten                                                                        |
| 5    | Bohrlochmessungen, Sondierungen                                                    |
| 6    | zusätzliche Daten (1:n), abhängig von der Objektart, z. B. die Tabelle Grundwasser |

### Grafik bearbeiten

**MethodID = 2 (Grafik bearbeiten)** - `VerfahrenParams`:

A) keine Eingabe

Die Standardlayoutliste wird geöffnet. Das aktuell Layout von der Layoutliste wird angezeigt.

B) Eingabe eines (Layout) Dateinamens, der das Objekt anzeigen soll.

C) `"Layout wählen:Layoutname"`

Die Standardlayoutliste wird geöffnet und Das Layout "layoutname" ist selektiert. Optional kann die Layoutliste, die die verwendete sein soll, als Pfad beschrieben werden:

```
z. B.: "Layout wählen:Layoutname|c:\programs\geodin\syslib\geo.gll"
```

E) `"Meldung:Berichtname"`

Die Standardlayoutliste ist geöffnet und der Bericht "reportname" ist selektiert. Optional kann die verwendete Layoutliste als Pfad beschrieben werden:

```
z. B.: "Meldung:Berichtname|c:\\programme\\geodin\\syslib\\geo.gll"
```

### Grafik öffnen

**MethodID = 4 (Grafik öffnen)** - `VerfahrenParams`:

Es wird ein vollständiger Pfadname von einer GeoDin-Grafik, layout oder layoutlist erwartet. Die Datei wird im Grafikfenster geöffnet.

### Messwerte importieren

**MethodID = 12 (Importieren von Messwerte)** - `VerfahrenParams`:

```
[Parameter]
Datenbank=<Datenbankname>
Benutzername=
Passwort=
DatType=<Datentypzuordnung>
ImpType=<Importieren Art DBF_Zeile,CSV_Zeile,ACC_Zeile>
ImpCmdDatei=<Name Pfad von einer Importieren-Befehlsdatei *.xml>
ImpDatDatei=<Name von einer Importdatei *.dbf,*.csv,*.mdb> |<Tabellenname für Access>
ImpRepDatei=<Name von einer Bericht-Datei *.txt>
```

Die Namen von den Dateien werden als Vollfarbe-Länge-Pfad erwartet.

```
[Datenquelle]
ImportFormat=<Zeile,Spalte>
Gruppenfeld1=
Gruppenfeldn=
Parameterfeld=
WertFeld=
MesPointVerknüpfung=

[MesPointVerknüpfung]
<GeODinINVID>=<DatenquellenID>
...
...

[ParameterVerknüpfung]
<GeODinParameter>=<DatenquellenParameter>
...
...

[ImportOptionen]
DatensätzeHinzufügen=Wahr
DatensätzeAktualisieren=Falsch
DatensätzeSuchen=<SMPDATE,SMPNAME,SMPID>
UpdateType=<Extend,Replace,Ignorieren>
RoundNumbers=Falsch
CutText=Falsch
IgnorePlausibilityErrors=Falsch
CalcRecordChanges=Falsch
DetailProtocol=Wahr
```

### Grafik drucken ODER Bericht

**MethodID = 13 (Grafik drucken oder Bericht)** - `VerfahrenParams`:

Nein bei der Eingabe: Der Ausdruck erfolgt ohne Druckdialog auf dem aktuell verwendeten Drucker. Wenn keine Grafik geöffnet ist (Detailansicht oder Layoutübersicht) oder wenn in der Layoutübersicht keine Objekte mit dem Layout verbunden sind, wird nichts gedruckt und die Fehlernummer 16 zurückgegeben.

Die Drucken-Ausgabe kann optional konfiguriert werden, indem ein Parameterblock eingegeben wird:

```
[Drucken-Optionen]
ShowDruckenDialog=Wahr      Ein Drucken-Dialog wird angezeigt
Drucken-Gerät=DeviceName    Drucker zu benutzen
Drucken-Dateiname=Dateiname    Drucken in die selektierte Datei
```

**Gerätename:**

Für den Drucker zu benutzen, muss in der GEODIN.INI eine Sektion mit Druckerinformationen eingetragen werden. Beispiel:

```
[Drucken-Geräte]
PDF=Acrobat PDFwriter
Win2PDF=Win2PDF
SW=Canon GP300-405 PCL
```

Eine ausführlichere Bezeichnung dieser Sektion finden Sie in den Informationen zur Funktion "GetPrintFile". `Gerätename` muss eine gültige Eingabe dieser Konfigurationssektion enthalten.

**Dateiname:**

Wenn Sie den Parameter "PrintFileName" benutzen, geben Sie einen vollständigen Dateinamen ein. Eine eventuell bereits vorhandene Datei gleichen Namens wird überschrieben.

Zum Beispiel würde der Parameterblock so aussehen, wenn Sie die Druckfunktion benutzen möchten, um eine PDF-Datei zu erstellen:

```
[Drucken-Optionen]
PrintDevice=Win2PDF
PrintFileName=C:\GEODINPrints\Ausdruck1.PDF
```

### Plugin starten

**MethodID = 14 (Plugin starten)** - `VerfahrenParams`:

Ein Konfigurationsblock ist zu übertragen, der Mindestens die Eingabe enthält:

```
[Parameter]
Plug-in=<Name>
```

Als **Name** muss der eindeutige Name der Plug-in-Funktion eingegeben werden.

***Hinweis:*** *Hier geht es nicht um den Parameter „Name“, der im Objektmanager Sichtbar als der Name von der* [*Plug-ins*](/geodin-desktop/de/integrationen-and-plug-einfg/installing-plug-ins.md)*, sondern um den Namen von der Konfigurations Sektion dieses Plug-ins. Das Plug-in muss für den aktuell Branch (Knoten) im Objektmanager konfiguriert und ausführbar sein. Es kann in der Verfahren-Liste selbst Nicht darstellen werden (Parameter „Nicht darstellen“ in der Plug-in-Konfiguration).*

Optional kann der Konfigurationsblock eine weitere Sektion mit dem Namen „PluginParams“ und Beliebig Parametern enthalten. Beispiel:

```
[Parameter]
Plug-in=Spezialfunktion

[PluginParams]
Param1=Mein Parameter 1
Param2=Mein Parameter 2
.....
```

Diese Konfiguration Sektion wird vollständig zu dem Plug-in übertragen (nur COM-Server-Plug-ins) und nicht von GeoDin analysiert. Aufgrund von diesem kann Beliebig Parameter zu dem Plug-in übertragen werden, indem man über die COM-Funktion aufruft.

### Messwerte prüfen

**MethodID = 53 (Messwerte prüfen)** - `VerfahrenParams`:

Benutzen Sie die Sektion „Regression“, um Messwerte mithilfe einer Regressionsanalyse zu überprüfen.

Der Wert `Layout wählen` enthält den Namen von der Regressions-Grafik, zu verwendete.

Weitere Informationen zu diesem Verfahren finden Sie im Kapitel [Messwerte prüfen](/geodin-desktop/de/datenanalyse/data-checks-and-validations.md) UND in der Bezeichnung [Regressionsberechnung](/geodin-desktop/de/datenanalyse/regression-and-curve-fitting.md) von dem Zeitreihenserien-Element.

**Beispiel:**

```
[Regression]
Layout wählen=AnalysisLayout1
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.geodin.com/geodin-desktop/de/integrationen-and-plug-einfg/overview-1/method-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
