看了大家的回复后,顺便也说一句:sys(5)+sys(2003),或者 sys(2023),在同一台操作机子上,运行本机程序中的这些参数是可行的。此参数指的是本机的默认当前路径。但是,如果是在终端机上,使用 IE,访问服务器的自动服务中的这些参数,客户机调用方法时,接受会出错。下面是简单的对象举例,列举了一个方法。此段在编译成多线程组件 dll 文件,测试能够通过.
local ca
oc=createobject("test")
oc.getinfo(ca)
close all
return
define CLASS test AS Session OLEPUBLIC
PROCEDURE Init
SET MULTILOCKS ON
ENDPROC
PROCEDURE GetInfo (ca) HelpString "获取服务信息"
LOCAL oCA AS String,cXML AS String
close all
clj=sys(5)+sys(2003)+"\tst_aa\" && 此句在同台机检测无误,但客户机接受会出错,换成任意绝对路径则可以。
if !directory(clj)
mkdir &clj
endif
create table &clj\ca (id i,xm c(50),sl n(12,2),dw c(20))
insert into &clj\ca (id,xm,sl,dw) values (1,"电视机",5,"台")
insert into &clj\ca (id,xm,sl,dw) values (2,"洗衣机",3,"台")
select ca
cursortoxml("ca","&clj\xmlwd.xml",3,512,0,"1") && 生成一个 xml 文本,放在了 clj\tt\ 下。(可在目录下看见).
cursortoxml("ca","cxml",3,16,0,"1")
browse
RETURN cXML && 以 XML 字符串返回给用户。 也可以 用html 形式通过 IE 返回给用户。
ENDPROC
enddefine