Communicating with DLL s

First off please forgive my naivety on this subject.
We are working on a project where we have to talk to an API that is a DLL. Talking to one of our partners(that is not familiar with Ignition) they think that it will be extremely difficult/impossible to from Ignition. They suggested we create a small bit of code using IIS in the middle. They mentioned the biggest issue they thought we would have with python and DLL is the callback. I’m do not know enough to say if this is the best approach or not.

Can anyone shed any light on this?
I can add more information as needed because I do not know if this makes any sense.
Thank you,

If you absolutely have to use a DLL, you will have to create a Java Native Interface wrapper for the DLL and the corresponding Java classes and install it as a module. I would rate it as very difficult.

3 Likes

Agreed... especially if you aren't already proficient with Java.

Okay, well I didn’t imagine that it would be easy. I’m lucky that our partner is proficient in Java and I will have to rely on them. I did some looking and was not able to find anything and I just wanted to make sure that there was not something we were missing.
Thank you for your replies.

We do use this approach for some calculations that we have in a C++ DLL. I was able to get it packaged into an Ignition module that wrapped up the functionality and exposed as script functions. I agree with @pturmel and @Kevin.Herron about the difficulty–there were quite a few challenges to making that work properly. It is further complicated if you want to maintain cross-platform operability. That was actually a hard mystery to resolve–just how to structure things so that a given architecture would look for the appropriate bundled DLL in the right place… Anyway, just wanted to share.

1 Like