Cet objet implémente l’IEngineLoader qui fournit des méthodes pour charger et décharger l’objet Engine. Cet objet vous permet de charger ABBYY FineReader Engine en tant que serveur hors processus dans un processus séparé.Si cette méthode de chargement est utilisée, toutes les instances d’ABBYY FineReader Engine sont entièrement thread-safe. Chaque instance de FineReader Engine s’exécute dans un processus séparé simultanément avec d’autres instances. Cela vous permet de créer un pool de processeurs et d’exploiter pleinement la puissance CPU disponible. Par conséquent, l’utilisation de l’objet OutprocLoader est particulièrement adaptée aux applications serveur.
Cette méthode de chargement nécessite l’enregistrement de FREngine.dll lors de l’installation de l’application sur l’ordinateur d’un utilisateur final. Pour enregistrer FREngine.dll, utilisez la ligne de commande suivante :
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
Les autorisations des comptes peuvent être configurées à l’aide de l’utilitaire DCOM Config (tapez DCOMCNFG en ligne de commande ou sélectionnez Panneau de configuration > Outils d’administration > Services de composants). Dans l’arborescence de la console, repérez le dossier Services de composants > Ordinateurs > Poste de travail > DCOM Config, cliquez avec le bouton droit sur ABBYY FineReader Engine 12.5 Loader (Local Server), puis cliquez sur Propriétés. Une boîte de dialogue s’ouvre. Cliquez sur l’onglet Sécurité. Sous Autorisations de lancement, cliquez sur Personnaliser, puis sur Modifier pour indiquer les comptes autorisés à lancer l’application.
Notez que, sur un système d’exploitation 64 bits, l’application DCOM enregistrée est disponible dans la console MMC 32 bits, qui peut être lancée à l’aide de la ligne de commande suivante :
"mmc comexp.msc /32"
Nous vous recommandons d’utiliser une licence réseau aussi bien pour déboguer votre application serveur que pour l’exécuter.
Cet objet est également utilisé dans l’exemple de code EnginesPool. Il fournit une implémentation d’un pool de FineReader Engines, facilement adaptable à votre propre application multithread.