Thanks Michael
You have answered the question perfectly - I need to embed the parameters expected in the function declaration - not in the "normal" FoxPro style of a parameters list after the function declaration.
I have not been able to find what are the possible data types in this form of declaration - is Variant valid, is Logical valid - or should it be Boolean? Is a one-character parameter a String? How are arrays handled? Perhaps you could point me to some information on this?
Also, since I have your attention (thanks again!) can I please ask if you know how to solve the following problem:
I have created a Web Service:
DEFINE CLASS Fishers_AccpacWebInterface AS Session OLEPUBLIC
In certain of the functions I open tables in order to update them, in SHARED mode:
USE tablename> ALIAS <alias> SHARED
I then FLOCK() or RLOCK() as required.
Then I APPEND BLANK and GATHER MEMVAR or REPLACE specific fields.
e.g.
USE ARDATA\ARCUST01 ALIAS a_arcust SHARED
IF FLOCK("a_arcust")
SELECT a_arcust
APPEND BLANK
GATHER MEMVAR MEMO
UNLOCK IN a_arcust
ENDIF
When I run the class from VFP by declaring a newobject of the class locally, this code executes perfectly, but when I run it as a Web Server whenever I try to APPEND BLANK or REPLACE I get an error: Error: 1429 OLE IDispatch exception code 0 from Fishers_AccpacWebInterface ....... Cannot update the cursor A_ARCUST, since it is read-only. 111..
Also - how can I "wrap" my own messages in the Web Server class in an XML format so that if I return the messsages they are recognised by the calling program as correct XML messages - I need some sort of STRTOXML() function to turn a simple message into a correctly formatted XML message.
Michael - I will also post the question on the "cannot update the cursor" in the Troubleshooting and the Web Server, and XML forums - in the hope of getting an answer.
Thanks again
Chris Palmer