> ## 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.

# Verwendung von ABBYY FineReader Engine in C (Objective-C)

> Verwenden Sie ABBYY FineReader Engine in C und Objective-C unter Windows: Binden Sie FREngine.h ein, definieren Sie __RPC__deref_out und laden bzw. entladen Sie die Engine.

<Note>
  Dieses Thema gilt für FRE unter Windows.
</Note>

Dieser Abschnitt beschreibt das Laden und Entladen von ABBYY FineReader Engine in C (Objective-C).

1. Fügen Sie beim Einbinden der Header-Datei FREngine.h folgenden Code ein:

```csharp theme={null}
/* C */
#define __RPC__deref_out
#define COBJMACROS
#include <FREngine.h>
/* Objective-C */
#define interface _COM_interface
#define __RPC__deref_out
#define COBJMACROS
#import <FREngine.h>
#undef interface
```

2. Verwenden Sie den folgenden Code, um FREngine.dll zu laden und zu entladen:

```csharp theme={null}
typedef HRESULT (*initializeEngine_ptr) (BSTR, BSTR, BSTR, BSTR, BSTR, VARIANT_BOOL, IEngine **);
typedef HRESULT (*DeinitializeEngine_ptr) (void);
static IEngine* FREngine;
static HMODULE FREngineDll;
int main(int argc, char *argv[]) {
 initializeEngine InitializeEngine=NULL;
 DeinitializeEngine_ptr DeinitializeEngine=NULL;
 // Geben Sie hier Ihre Customer Project ID und ggf. die Online-Lizenz-Informationen an
 wchar_t *customerProjectId = L"";
 wchar_t *licensePath = L"";
 wchar_t *licensePassword = L"";
 FREngineDll = LoadLibraryEx("<path to FREngine.dll>", 0, LOAD_WITH_ALTERED_SEARCH_PATH);
 if(FREngineDll) {
  InitializeEngine = (InitializeEngine_ptr) GetProcAddress(FREngineDll,"InitializeEngine");
  if(InitializeEngine)
   InitializeEngine(customerProjectId, licensePath, licensePassword, "", "", FALSE, &FREngine);
 }
 ProcessImage();
 IEngine_Release( FREngine );
 DeinitializeEngine = (DeinitializeEngine_ptr) GetProcAddress(FREngineDll,"DeinitializeEngine");
 DeinitializeEngine();
}
```

3. Alle anderen Aufrufe von ABBYY FineReader Engine können die in der Header-Datei FREngine.h definierten C-Makros verwenden.

```csharp theme={null}
void ProcessImage()
{
 IFRDocument* frDocument = NULL;
 IEngine_CreateFRDocument( FREngine, &frDocument );
 IFRDocument_AddImageFile( frDocument, L"<path to a source image>", NULL, NULL );
 IFRDocument_Process( frDocument, NULL, NULL, NULL );
 IFRDocument_Export( frDocument, L"<path to an output file>", FEF_PDF, NULL );
 IFRDocument_Release( frDocument );
}
```

<div id="see-also">
  ## Siehe auch
</div>

[Aspekte der Programmierung](/de/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects)
