Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
XMLtoCursor()
Message
De
26/06/2002 01:57:25
Tim Shepherd
Cleanaway Australia
Sydney, Australie
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Titre:
XMLtoCursor()
Divers
Thread ID:
00672330
Message ID:
00672330
Vues:
56
Hiyas

Im having a very frustrating problem involving the XmlToCursor function. As I'll explain, I'm thinking the problem may not lie with Foxpro at all but with something else.

I have a COM object that is grabbing data from tables, making a cursor, converting the cursor into XML using "CursorToXML" and passing the XML back to the calling program. That is all AOK. The statement im using to create the XML is :

liRet = cursortoxml('temp','lResult',1,2+4+8,0,"1") - using the inline schema

The calling function then converts it back into a cursor to do whatever it needs to do with it (Im using XML and MSMQ to allow remote foxpro databases to pass data between each other). The conversion statement I usually use is :

liRet = xmltocursor(lResult,'temp')

This is where the problem comes in. On some servers where I've installed my COM object, the calling function just stops at the XmlToCursor line and throws the following error:

OLE error code 0x8000401f3: Invalid class string

The only reference to this error I can find on the MSDN site is in the doco for the CREATEOBJECTEX function and its to do with an object not being properly registered. With further digging around on the 'net I came across VFP 7.0 Readme that had a section talking about the XML functions and what happens with the schemas, etc. That pointed me in the direction of the MSXML3.DLL file, and the doco hinted at the fact that the XMLtoCursor function uses the MSXML parser to process the schema. This is all I could find on this particular problem!

I have got, and registered where possible, the latest MSXML files (release 4), and the latest VFP7 runtimes (SP1), and even the latest Visual C++ runtimes as I found other hints that foxpro functions use these dlls also, but there's been no effect. I've experimented with the flags in both XML functions and even converted the XML string into DBCS before converting back but all to no avail.

My COM server is currently installed on 4 machines - 2 installs work, and 2 dont. All of the machines are running Windows 2000 Advanced Server, with the latest service packs. They all have either IE5 or 5.5 and range from having a number of different programs (Exchange, Crystal Reports, SQL Server) running on them to being a plain, straight-out-of-the-box server. I can't seem to find anything common between the servers that work and the server that dont. Like I said previously, I've updated all of them to the latest runtime file that I think I need to.

I guess what Im asking after all this is : do foxprox functions now use other windows dlls (MSXML, C++) to do some of the work? If so, am I able to find out what dlls they are?I'm pretty sure that something isnt registered properly on the servers due to the OLE error, but Im at a loss to know what!
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform