> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lösungen entwickeln

> ABBYY FlexiCapture-Lösungen für den Weiterverkauf erstellen und schützen sowie Dokumentdefinitionen, FlexiLayouts und Regelmodule mit Developer-Lizenzen absichern.

Sie können auf Basis von FC Lösungen entwickeln, die an Dritte verkauft werden. Unter einer Lösung versteht man eine Dokumentdefinition; sie kann die folgenden zusätzlichen Komponenten enthalten:

* Ein in FlexiLayout Studio erstelltes FlexiLayout
* Ein Regelmodul oder einen speziellen Algorithmus zur Datenprüfung, der Regeln zur Prüfung von Daten verwendet
* Ein Exportmodul oder ein benutzerdefiniertes Exportverfahren

Sie können Ihre Lösung mit einer **Developer-Lizenz** und einem eindeutigen Lösungsbezeichner vor unlizenzierter Nutzung schützen. Nur Benutzer mit einer **User-Lizenz** können Ihre Lösung verwenden.

<div id="protecting-document-definitions">
  ## Schutz von Dokumentdefinitionen
</div>

1. Senden Sie eine Nachricht an die [ABBYY-Niederlassung](https://www.abbyy.com/support/contacts/) in Ihrer Region, in der Sie Ihre Lösung beschreiben und ihre Komponenten auflisten.
2. Je nach Art der Lösung, die Sie entwickeln, stellt Ihnen die ABBYY-Niederlassung eindeutige Bezeichner für die Komponenten Ihrer Lösung und in einigen Fällen eine Developer-Lizenz zur Verfügung. Diese eindeutigen Bezeichner können in den Quellcode der Komponenten Ihrer Lösung eingebunden und mit den in einer User-Lizenz angegebenen Bezeichnern abgeglichen werden.
3. Starten Sie FC, öffnen Sie den Dokumentdefinitions-Editor, klicken Sie im Editor im Menü **Dokumentdefinition** auf **Eigenschaften der Dokumentdefinition...**, wählen Sie die Registerkarte **Allgemein** aus, und geben Sie den eindeutigen Lösungsbezeichner ein, den Sie von der ABBYY-Niederlassung erhalten haben.
4. Wenn Sie Ihre Lösung an einen Kunden verkaufen, bitten Sie die ABBYY-Niederlassung um eine User-Lizenz, die den eindeutigen Lösungsbezeichner enthält. Ohne diese Lizenz kann Ihr Kunde die Dokumentdefinition oder FlexiLayout nicht zur Dokumentverarbeitung verwenden.

<div id="protecting-individual-components">
  ## Schützen einzelner Komponenten
</div>

Jede Komponente kann unabhängig von einer vollständigen Lösung entwickelt und geschützt werden.

Wenn Sie ein FlexiLayout schützen möchten, benötigen Sie eine Developer-Lizenz. Weitere Informationen finden Sie im Artikel **Projects → Protection features for FlexiLayouts and Classifiers** in der Hilfe zu ABBYY FlexiLayout Studio.

Exportmodule und Regelmodule werden mithilfe eines Skripts in eine Dokumentdefinition integriert. Sie benötigen keine Developer-Lizenz, um diese Module zu schützen. Wenn Ihre Lösung die Verwendung von Modulen mit beliebigen Dokumentdefinitionen zulässt, können Sie sie schützen, indem Sie im Code des Moduls eine Prüfung eines eindeutigen Bezeichners einfügen.

<Note>
  Wir empfehlen, eine externe Bibliothek im Format \*.dll zu entwickeln und in ABBYY FlexiCapture zu integrieren. Dadurch bleibt der Quellcode für Benutzer unzugänglich.
</Note>

Verwenden Sie dazu in Ihrem Modul die Methode **IsModuleAllowedByLicense**, um zu prüfen, ob die Lizenz des Benutzers die Verwendung des Moduls zulässt:

```
IsModuleAllowedByLicense ( authorId : string, moduleName : string ) : bool
```

Im obigen Codebeispiel ist **authorId** der eindeutige Bezeichner des Developers, und **moduleName** ist der eindeutige Bezeichner der Lösung.

<Accordion title="Codebeispiele">
  Das folgende Codebeispiel veranschaulicht, wie eine Methode einen Parameter in einer Lizenz prüfen kann:

  ```
  private bool CheckLicense()
         {
              if (FCTools.IsModuleAllowedByLicense("ABBYY RU", "ModuleName") == false)
              {
                  FCTools.ShowMessage("Your license does not allow the use of this module", true);
                  return false;
              }
              else
              {
                  // FCTools.ShowMessage("License is OK", false);
                  return true;
              }
          }
  ```

  Sie können die Methode zur Lizenzprüfung in einem Exportskript wie folgt aufrufen:

  ```
  public void ExportDocument(ref IExportDocument docRef, ref FCTools FCTools )
          {
              if (CheckLicense() == true)
              {
                  …
                  exportImages(docRef, FCTools, exportFolder);
                      // export information about the document
                  exportDocInfo(docRef, sw);
                      // export fields
                  exportFields(docRef.Children, sw, "");
              }
          }
  ```

  Wenn die Lizenz kein Sprachmodul mit dem Namen **ModuleName** und dem Autor **ABBYY RU** enthält, führt der Dokumentexport zu einem Fehler.
</Accordion>
