A beginner's guide to ABBYY external Assemblies (C# .Net v4.5): Part 1 - Getting started

  • 43 Views
  • Last Post 2 weeks ago
mharper posted this 2 weeks ago

Recently I started work on an external assembly to add to our FlexiCapture project, but had no idea where to start. After finally figuring it out, I decided to publish my results for other beginners to use.

I'll be releasing my notes in three parts, because there's a lot of notes haha

If you learned something useful from this, or have something you'd like to add please feel free to like, comment and favorite!



PART 1: Getting Started

There's a few things you'll need to get started

1. Microsoft Visual Studio (Community edition will do in a pinch)

2. The ABBYY reference objects ControllerInterop, ScanStationInterop, ShellInterop

(These can be found in the ABBYY Stations Directory, usually located in 'C:\Program Files (x86)\ABBYY FlexiCapture 11 Stations' )

 

How to create the class library project

Create a new solution in Visual Studio

In your new Solution, create a 'class library' project and give it a descriptive name (I used 'FCToolkit'), and set it to compile using .Net Framework 4.5

In the Solution Explorer window, right click on your project's references and add references to ControllerInterop, ScanStationInterop, ShellInterop.

Click on each Interop Reference you added and adjust the following settings in the 'Properties' window
•Use an alias for your reference. I used aControllerInterlop, aShellInterop, and aScanStationInterop
•'Embed Interop Types' must be set to false. You'll get an error otherwise so take care of this before getting started

From here, you can add classes to your library and start coding!

  • Liked by
  • Collins Sarmento
Order By: Standard | Newest | Votes
mharper posted this 2 weeks ago

Adding classes to your library

 To add a class to your library, right click on your project in the solutions explorer, and select 'add class'

Classes are created in the usual manner, except you must account for your aliases at the class header. Example:

extern alias aControllerInterlop; //dont forget your aliases! this line needs to be first
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using aControllerInterlop::ABBYY.FlexiCapture;

Ekaterina posted this 2 weeks ago

Hello,

Thank you for your investigation! We look forward to the continuation, please, go on.

Close