LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple DLLs from a single project

I'm curious about wheher CVI is capable of generating multiple DLLs from a single project. I'm using CVi with TestStand and would like to have my functions spread over several DLLs instead of just one, but would like to be able to manage everything from a single project. Is there a way of doing this.
0 Kudos
Message 1 of 8
(4,139 Views)
i don't think you can generate multiple binaries from the same project (i don't see how it would fit into the target settings dialog...). however, you can create multiple projects (1 per DLL) and regroup them into a single workspace.
0 Kudos
Message 2 of 8
(4,137 Views)
That's what I'm hoping I don't have to do. If I do end up having to do that, is there a way to run them all simultaneously through the debugger.
0 Kudos
Message 3 of 8
(4,134 Views)

Yes you can do more than a single dll in a workspace, but not in a single project.

 

And a CVI dist kit will not  check dll versions prior to overwrite - yuo have to create a merge module to get file version based behavior.

 

menchar

0 Kudos
Message 4 of 8
(4,124 Views)

you may open as many CVI instances as you have DLL to debug: open each project in its instance of CVI, and press the debug button for all of them.

this may not be the most efficient way of debugging multiple dlls; can't you ensure that each dll is behaving correctly through its interface (the set of functions or variables it exports),  then debug them separately ?

0 Kudos
Message 5 of 8
(4,103 Views)
If you have a single EXE that is using all the DLLs, you could also add all the DLL projects to your main EXE project workspace, create post-build actions to copy the DLLs (and debug databases if in debug mode) to the EXE's directory, and debug/run the EXE.  CVI will let you step into/through any of the DLLs compiled in debug mode, and will let you set breakpoints in those DLLs as well.
0 Kudos
Message 6 of 8
(4,086 Views)
> That's what I'm hoping I don't have to do. If I do end up having to do
> that,
> is there a way to run them all simultaneously through the debugger.

Through the debugger, I don't know, but if you want to compile them all in
one go, you could write a simple scrip calling compile.exe on every .prj
file. It's found in the same directory as cvi.exe
--
Guillaume Dargaud
http://www.gdargaud.net/


0 Kudos
Message 7 of 8
(4,072 Views)

Hi,

 

Even if you do not have an EXE already, I think you need to write one to be able to debug your DLLs.

DLLs can be debugged when called from an "external process" and you need to specify it (must be an executable file) through Run > Specify External Process... menu.

 

You can make your program (the EXE) to call a function from the DLL so it gets loaded. Then you'll be able to step into your DLL code if you put breakpoints where necessary.

 

Hope this helps, 

S. Eren BALCI
IMESTEK
0 Kudos
Message 8 of 8
(4,064 Views)