LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

ADVAPI32.DLL

Hi Shimon,

Your attached images show that you have bad and stub imports in the .dll that you are trying to load. Stub indicates that a replacement may be available, while a bad import means that there are no replacements.

The problem is that you are trying to use a .dll that is specific to the Windows OS on the Real-Time OS, and it is not compatable. Why are you using this .dll on your PXI controller? There may be another .dll that you could use or create that gets you the same funcionality, or you may be able to simply not use this .dll, but the Real-Time operating system, which I believe is Ardence PharLap ETS, will not be able to correctly support the .dll that you are currently using.

I do not know why it would have worked on a LabVIEW 6.1 system, nor why the VI would deploy correctly on the third attempt. Given the error you are getting, I would not expect it to work at all on a PXI Real-Time Target, since that .dll is not supported.

Regards,
Stephen S.
National Instruments
Applications Engineering
0 Kudos
Message 11 of 20
(2,967 Views)

I'm very sorry, but etsapi.dll is a DLL that comes either with the Ardence Pharlap system or has been provided by NI. So the issue about the DLL not being supported on the real time system is IMO simply moot.

 

etsapi.dll was used in LabVIEW 7.1 by some functions in vi.lib/addons/vi.lib/addons/rt/ETS/rtutility.llb (and I do believe by the Real-Time System Manager) and the functions in that DLL seem to be documented by Ardence/Pharlap in their SDK. In LabVIEW RT 8.2 some of the functions in the rtutility.llb have disapeared so it could be that the poster was using one of them and really pulled the stub DLL from RT 7.1 in, while the DLL distributed on an 8.x RT Target does not support the same functions.

 

Rolf Kalbermatter

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 12 of 20
(2,852 Views)

Hi All,

 

Sorry for hijacking the thread to some other DLL, but I feel this is also related to the topic under discusssion...

 

Can anybody please tell me whether a DLL built using FORTRAN will be compatible with LV RT 8.6?

 

I have not tried this, but customer wants to make sure thatthere wont be any problem after migration code to LV from some other language. Thats why...

- Partha ( CLD until Oct 2027 🙂 )
0 Kudos
Message 13 of 20
(2,745 Views)

Hello Parthabe,

 

Take a look at this KnowledgeBase. There is a program that can check DLL for compatibility with LabVIEW Real-Time.

Regards,

Jon S.
National Instruments
LabVIEW NXG Product Owner
0 Kudos
Message 14 of 20
(2,725 Views)

parthabe wrote:

Hi All,

 

Sorry for hijacking the thread to some other DLL, but I feel this is also related to the topic under discusssion...

 

Can anybody please tell me whether a DLL built using FORTRAN will be compatible with LV RT 8.6?

 

I have not tried this, but customer wants to make sure thatthere wont be any problem after migration code to LV from some other language. Thats why...


I haven't seen this message and it is a bit old now, but the recommendation by Jon S is probably the best. Quite likely the Fortran DLL will reference some runtime library which might relay on specific Microsoft Visual C runtimes somehow and there is a good chance that this could fail.

 

Also note that Windows DLLs will only be potentially compatible with Pharlap based RT system. cRIO and some other newer systems are all VxWorks based and they will not be able to use any DLL at all but have their own shared library image format which needs to be created using the according VxWorks toolchain (a gcc based system).

 

Rolf Kalbermatter

Message Edited by rolfk on 08-11-2009 09:55 AM
Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 15 of 20
(2,606 Views)

Thank you Rolf!

 

Anyway, it is always better late than never.

 

Since we were to use the cRIO & that was not compatible with the VxWorks RTOS which the client is very specific, we had to discard our project itself.

 

We are looking at some other options like VB. Let me post here for any further advancements...

- Partha ( CLD until Oct 2027 🙂 )
0 Kudos
Message 16 of 20
(2,580 Views)

Hi All,

I am trying to execute Fotran dll on  PharLap ETS OS(PXIRT 8106), the fotran code function is it reads data from text document and performs some analysis and writes data to text document.When I am checking this using dll checker it is showing libifcoremd.dll bad as 2 and imagehlp.dll bad as 2.Kindly find the attachment for error detail. 

Help me out with this.

 

Thank you all.

Babu.

Download All
0 Kudos
Message 17 of 20
(1,982 Views)


If the DLL Checker for your LabVIEW version reports an error this means you usually can't make the DLL work under Pharlap ETS without source code or linker modifications to the DLL itself. Without access to the source code this is usually impossible.

 

In your specific case it could be that your DLL depends on Fortran runtime library functions, and theoretically it may be possible to copy them manually to the Pharlap system. However if those runtime libraries are fairly recent, they most likely make use of Windows runtime APIs that are not present on the Pharlap ETS system either.

 

Another option might be to select in your Fortran project to link all runtime libraries statically into your DLL instead of relaying on them being present on the host system. But again, these runtime libraries may make use of Windows APIs, that are not present under Pharlap ETS.

 

imagehlp.dll is a Windows DLL and you can't replace the one on the Pharlap ETS system with one from your Windows system without catastrophic consequences to your RT OS. and it seems it is the actual cuplrit for the bad imports. Without the list of actual bad imports in the second tab it is impossible to determine if that is the only problem.

 

Also the stubs could be also a problem, eventhough they don't prevent the DLL(s) from loading. If your DLL ever calls a function that calls such a stub, it could result in a runtime error since the expected functionality is not performed.

 

 

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 18 of 20
(1,972 Views)

Thank you for your reply,my application is execution of fortran code on PXI RT system using LabVIEW Software.Fortran function is reading values from text document and performing analsis and writing to text document.I have created dll for this program using Microsoft visual studio.I have checked with dll checker it is giving imagehlp.dll,libifcoremd.dll as bad imports.Can you please help me to solve this. 

0 Kudos
Message 19 of 20
(1,947 Views)
I don't do Fortran so I can't give you detailed instructions, but the most simple advice would be to redo everything in LabVIEW. What you describe doesn't sound like a complicated algorithme anyhow, and chances are very high that yrying to get this working anyhow, will be more trouble in the end, if at all possible, than rewriting it in LabVIEW!
Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 20 of 20
(1,941 Views)