LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Migrating LabXML tool to 64bits

Solved!
Go to solution

Thanks for the tip.
Can you share any code using that dot net component?

0 Kudos
Message 11 of 25
(6,844 Views)

I haven't used LabVIEW 64bit yet so I can't provide any feedback about that specifically, but which release of the libxml2 parser dll are you using?

The 2.9.7 release from Nov 02 2017 has these two items specified in the changelog:

    Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),
    Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),

(From http://www.xmlsoft.org/news.html)

But it looks like the windows binaries haven't been compiled through the normal channel since version 2.9.3...

https://www.zlatkovic.com/pub/libxml/64bit/

 

Maybe this will help: https://windows.php.net/downloads/php-sdk/deps/vc14/x64/

Troy - CLD "If a hammer is the only tool you have, everything starts to look like a nail." ~ Maslow/Kaplan - Law of the instrument
Message 12 of 25
(6,839 Views)

I'm not sure what version it is, but I got hold of them in 32 bit version in March 2016, and the 64 bit version in November 2016.

And they have worked fine in all LV versions since then, but just now Win10 starts to complain from time to time.
If Windows doesn't goes nut my application that uses the library works flawlessly.
I'll look into your links to see if I can find some more resent dlls, these are the DLL my wrapper are using:
2019-02-05_1253.png

0 Kudos
Message 13 of 25
(6,834 Views)

Need to know dll version...

2019-02-05_13h00_35.png

Troy - CLD "If a hammer is the only tool you have, everything starts to look like a nail." ~ Maslow/Kaplan - Law of the instrument
0 Kudos
Message 14 of 25
(6,832 Views)

None of the DLLs I'm using is showing any version info.

But I followed your link (https://www.zlatkovic.com/pub/libxml/64bit/), and downloaded all 64 bit versions dlls and replaced them with mine, and now (so far) LV can open the projects without any problem Windows errors, maybe this issue have been solved...I'll keep you posted, thanks for your help.
I'll post my library here as well so more people can gain 1000 times faster xml parsing when needed.

 

Message 15 of 25
(6,828 Views)

Thanks Troy, I own you one.

Updating the dlls to a later versions seems to fix the Windows 10 issue.

All my projects (so far) opens without any issues, no more errors generated in the Error Log.

I've attached the library we use that is a wrapper around your libxml2 VIs.
This wrapper makes it easy to convert existing LV XML VIs to LibXML2.
You can test/compare the speed of the 2 solutions by running the Examaple3.vi in the class.

Message 16 of 25
(6,812 Views)

Just noticed that I the library didn't work when I opened it in LV 32 bit.

The reason was that the latest LIBXMl2-2.dll (64 bit), is referring to ZLIB1.dll now.

The old library I had was referring to ZLIB6.dll. Not a big issue if I only wants to support 32 bit.

So I separated the 32 and 64 bit Dlls in separate folders and re-linked the CLNodes. Then I can load the library in both 32 and 64 bit LV. But I get nasty conflicts if I try to build an exe file 😞
So one solution is to find find a libxml2-2.dll that is built and pointing a 64 bit ZLIB with a different name.

 

 

 

0 Kudos
Message 17 of 25
(6,792 Views)

I fixed the build conflict, by removing the dlls from the lvclass.
But I can get the build working correct, one trick I had to do to get the builds working was to refer to the dlls the LXMLWRAP and LIBXML2 dlls is using. Otherwise LV will not add them into the build data folder.
But since the zlib1.dll has the same name in 32 bit and 64 bit, there is a conflict in.

So...

The attached class works both in 32 and 64 bit in LV development environment.
It works find for 64 bit executable (the zlib1.dll is placed in the data folder)
But for 32 bit executable, you have to manually add the  32-bit zlib1.dll into the data folder 😞

0 Kudos
Message 18 of 25
(6,786 Views)

Hi 

Somebody requested some idea about the .NET xdocument implementation for XML.

I have attached a fundamental evolution project where I have done some work on it.

Eventually it may be useful for you.

It is very fundamental but partly works.

 

Gernot Hanel
IONICON Analytik Gesellschaft m.b.H.
0 Kudos
Message 19 of 25
(6,780 Views)

Hi, I played around with the low-level functions and it works very well for LabVIEW 2020 32 bit.

Then I switched my project to LabVIEW 2020 x64 and some functions do not work anymore. Reading XML stuff is no problem but I always get errors when trying to add new nodes to a document. Do you have any idea what´s wrong there?

0 Kudos
Message 20 of 25
(6,290 Views)