>>
APLDN Home

>>
Events

>>
Trainings

>>
APL Books

>>
APLDN Links

>>
Discussion Groups

>>
Downloads

>>
Articles

>>
Library

>>
Learning Tools

>>
APLDN User IO

>>
APL2000.com




General

Author Thread: How to Query XML Version
Rex.Swain
How to Query XML Version
Posted: Wednesday, May 04, 2005 9:48 AM (EST)

I have learned that getting the Grid 'content' property requires MSXML version 4 (see thread "Grid content 80004005 Unspecified error" in the bug section). 

 

Does anyone know a way to query the system and find out what versions of XML are available? 


Comments:

Author Thread:
Support
How to Query XML Version
Posted: Wednesday, May 04, 2005 1:33 PM (EST)

Per the MSDN Library article at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/dom_hdi_cpp_getready.asp, the MSXML version number is in a DLL in the Windows' System32 folder. 

You can use the APL function below to retrieve the full version number of any file.  The functioin should paste into APL+Win without a problem. 

Since the XML properties of the Grid requires MSXML version 4, you'll want to use

      1 DllInfo 'MSXML4.DLL'

APL2000 Support

 


r„what DllInfo file;date;rc;s;size;t;ver
©’ return information on the specified file
©’ what„ 1=version, 2=date and size
©’ Copyright 1996-1999 APL2000

 ver„date„size„''

 :if 2¹what © date and size
     (rc t)„Œwcall 'FindFirstFile' file Ð
     …(rc=0)/exit ª …(rc=¯1+2*32)/exit
     0 0½Œwcall 'FindClose' rc
     size„DEB ,'CI13' Œfmt (2*32)ƒt[5 6]

     (rc t)„Œwcall 'FileTimeToLocalFileTime' (4œt) Ð
     …(rc=0)/exit

     (rc t)„Œwcall 'FileTimeToSystemTime' t Ð
     …(rc=0)/exit
     t„1 1 0 1 1 1 1 0/t © remove day of week and millisecond
     date„,'I4,<->,ZI2,<->,ZI2,< >,ZI2,<:>,ZI2,<:>,ZI2' Œfmt 1 6½t
 :endif

 :if 1¹what © version
     s„†Œwcall 'GetFileVersionInfoSize' file (4½Œtcnul) © size of buffer
     …(s=0)/exit ª t„(4×—s÷4)½Œtcnul   © buffer (multiple of 4 bytes)
     (rc t)„Œwcall 'GetFileVersionInfo' file 0 s t
     …(rc=0)/exit ª t„323 Œdr t  © convert to 4byte integers
     t„(Ÿ\t=¯17890115)/t          © remove everything before the magic number
     t„²2†2‡t                     © get 3rd and 2nd item after magic number
     t„•²†163 323 Œdr t           © convert to 2byte integers
     t[(t=' ')/¼½t]„'.'           © put dots between numbers
     ver„t
 :endif

exit:
 :select ,what
  :case ,1 ª r„ver            © version
  :case ,2 ª r„    date size  © date, size
  :else    ª r„ver date size  © all three
 :endselect

     

Nicolai.Ohm
How to Query XML Version
Posted: Friday, July 29, 2005 1:21 PM (EST)

In my experience MSXML 4.0 is not widely installed on user PCs. So we have included the relevant files in the setup routine of our application. These files to be installed in \system32 are:


msxml4.dll (1205 KB)
msxml4r.dll (81 KB)
both dated 18.04.2003

 

     



APL2000 Official Web Site

When we try to pick out anything else in the Universe, we find it hitched to everything else in the Universe.
-- John Muir

APLDN Home   |    |  Events   |  Trainings   |  APL Books   |  APLDN Links   |    |  Discussion Groups   |    |  Downloads   |  Articles   |  Library   |  Learning Tools   |  APLDN User IO   |  APL2000.com   |