LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Runtime error Ordinal 380 could not be located in OLEAUT32.DLL, OK on Win 2000

 
0 Kudos
Message 1 of 6
(9,823 Views)
Hi Martin,

I need more information to in order to help you, please can you answer these questions.
1) What version of CVI are you using?
2) What Operating System are you using?
3) What Hardware do you have?
4) What is Ordinal 380? and can you give me a web address for this product?
5) What were you doing when the error occured/trying to do?

Regards
JamesC
NIUK and Ireland

0 Kudos
Message 2 of 6
(9,805 Views)

Thank you for your help.  I could only fit  much problem description in 80 characters.  In answer to your questions:

1) CVI Version 8 downloaded eveluationl version from the Website in an attempt to overcome this error.

2) Windows XP

3) Executing on a new standard PC.

4) Ordinal 380 is the error produced when attempting to load the OLEAUT32.DLL, I this may be an enumerated type which is not compatible with the OLEAUT32.DLL version in XP.  I think the application is also including a OLEAUT32.lib file during build, come to think of it.

5) Triying to run an existing CVI application which works under Windows 2000.

The same problem also occures when using CVI 6 and running the applicationon the Windows XP.  I think maybe it is something to do with the OLEAUT32.DLL version however I have been unsuccessful at copying on the Windows 2000 Version to XP.

 

Many Thanks

 

Martin. 

 

 

0 Kudos
Message 3 of 6
(9,796 Views)

"Ordinal 380" probably refers to the 380'th entry in the table of functions contained within the dll. If this is not present then it is likely that the dlls being used are not from the same or compatible builds as each other, so the solution would be to ensure that all software components are at the latest version.

JR

0 Kudos
Message 4 of 6
(9,795 Views)
Hi,
 
The CVI software project does not have a problem with Windows NT or 2000 Versions, however the problem only becomes evident with Windows XP.  Which uses a different version of OLEAUT32.dll and XP seems to always force the use of the latest version.  It is a comptibility issue as suggested.
 
I have removed the loading of the OLEAUT32.lib library used with NT and 2000 from the software build which I am sure is not compatible with the Windows XP version of the OLEAUT32.dll.  It was necessary to include this library since the software calls SysFreeString which is a Win32 call implemented in this library.  CVI provides a CA_FreeBSTR call which provides the equivalent functionality and used instead.  Therefore it is now not necessary to use the OLEAUT32.dll thus removing the incompatibility.  This therefore this solves my problem, you must not use any win32 calls only the CVI equivalents, so to avoid loading the OLEAUT32.lib library.
 
Thank you for your help.
 
Martin
0 Kudos
Message 5 of 6
(9,733 Views)
Martin,

I'm able to reproduce your problem when I try to use the function UserHWND_from_local from oleaut32.dll. This is the ordinal 380 function from that dll. However, I only get this error when I actually try to use that function in my program. If I only use SysFreeString, for example, and I add oleaut32.lib my project, oleaut32.dll loads ok.

I checked both the Win2000 and WinXP versions of oleaut32.dll and it does seem as if that function was there in Win2000 and is no longer there in XP (running "depends oleaut32.dll" reports N/A for the 380th ordinal). I also couldn't find any reference to this function in Microsoft's MSDN. So it's kind of a mystery. However, the main point, is that if nothing in your program references this function, then I would expect that you would still be able to use oleaut32.dll.

Luis
0 Kudos
Message 6 of 6
(9,721 Views)