23
Views
2
Comments
Extention with libraries - problem to load dll
Question

Hello!

First of all, forgive me (and correct me) when I am not using correct terms or naming, I am very new to OutSystems (and .NET for that matter).

I had to build a .NET extention using Zbar, OpenCV (Emgu) to detect any type of barcodes on a page.
If it helps: it's for a reactive application, on premise, OS11.

I had quite a bit of problems getting it compiled, it was too heavy and I bumped into memory problems:


Our OutSystems coach took a look at it, and we had to remove quite a lot before it was possible to even upload/save the extention. However, even though it compiles/builds/... in Visual Studio, when I try to use it in OutSystems, it gives me the next error:



So, I went back to Integration Studio and Visual Studio, and I didn't find de libzbar-0 dll anymore. Probably it got removed when cleaning up the bin-folder. I added it again, but it doesn't solve it.
(the list is too big, so I snipped out the two ZBar dlls).


After some more problems with the OutOfMemory errors in Integration Studio, it's available to use. Nonetheless, the error stays the same: "Unable to load DLL 'libzbar-0". It is included in the package. Getting closer to the delivery deadline, I am at my wits end. :)

Anyone any idea how I can troubleshoot this? Or what I did do wrong?


Thanks in advance!

have a nice day,
Marie-Lynne



Rank: #1418

Hello Marie-Lynne Block,

Looks like you are trying to use OpenCV library in your Outsystems extension. From what I know its a very heavy library that takes a lot of storage and memory. 

For the out of memory exception and the step at which you got the error looks like your local machine is running out of memory trying to save the extension before upload to server. 

Even though it may be possible to run the OpenCV via extension after a lot of struggle, I wouldn't recommend as every minor change goes through the heavy processing. Please do note Outsystems stores every version of your extension for rollback scenarios as well which might add up to your environment storage space too. 

From my point of view, What i would recommend though is to use an external service(Off the shelf) or host your custom solution(use OpenCV library and expose as an api) to do the image processing or and consume that from Outsystems application which might be a better way to do it.