07-27-2015 10:33 AM
Hello,
I've a board that cames with Labview VIs for each of its functions.
As I'd like to use it from CVI, I need a DLL.
NI support team gave me the procedure to make such a DLL, it works fine.
But, the create DLL can't be used by 2 application in same time, as it was possible with the old fashion driver on WindowsXP, delivered by the board supplier.
When I've an application launched using functions in the DLL, it is loaded and seems to be "privative" to this application: if an other one tries to load the DLL, there is an error frolm Labview wrapper.
Is there an option to make such DLL "reopenable" or "reentrant"?
Regards
07-27-2015 11:20 AM
In fact, There is a major error when the second application tries to open a function in DLL, see attached picture.
The Labview report is also attached if so can analyze it.
07-30-2015 11:10 AM
Up!
Nobody understands my question? No solution?
08-03-2015 03:22 AM
Hi R1M,
Is there a special reason why you need to access this dll from 2 application at the same time?
A dll can be called by two application at the same time but it depends you is it written.
Please find here a document with some explanation
http://www.ni.com/white-paper/3558/en/
By the way, most of the time when you access to a physical ressource, this ressource is reserved by one caller, and do not allow multi connection.
Paolo_P
Certified TestStand Architect
Certified LabVIEW Architect
National Instruments France
08-03-2015 05:38 AM
The DLL is written by Lavview tool to encapsulate VI and get them reachable from CVI: the board supplier no loger delivers a C-compatible DLL, only Labview driver and C# / .net / Java... modules, that implies heavy changes in our application to manage. NI support suggested to make this way a DLL from the set of VI delivered by supplier.
In our case, on XP, the main application was using the board but it was possible in parallel to send commands from an other application.
You're right it may be a question of locking resources by DLL / VIs functions: I'd like to know it there is a specific otpin when creating the DLL to make it reentrant and possibly get double access.