关于webservice调用COM+ |
缺席
|
dennisfox
一般會員 發表:1 回覆:2 積分:0 註冊:2005-06-05 發送簡訊給我 |
|
dennisfox
一般會員 發表:1 回覆:2 積分:0 註冊:2005-06-05 發送簡訊給我 |
webservice中代码如下: function Twebservice1.QueryMyData(const sSQLCommand: WideString; var vData: string): Integer;
var
vObj: Variant;
begin
CoInitialize(nil);
try
vObj := CreateOleObject('Project2.testcom1');
vObj.QueryMyData(sSQLCommand, vData);
Result := S_OK;
finally
CoUninitialize;
end; end;
不成功,报呼叫方不存在,CreateOleObject('Project2.testcom1');时候报错! 在客户端直接调用
procedure TForm4.btn3Click(Sender: TObject);
var
vCom : Variant;
vData : OleVariant;
begin
vCom := CreateOleObject('Project2.testcom1'); vCom.QueryMyData(edt1.Text, vData);
Self.ds1.Active := False;
Self.ds1.XMLData := vData;
end; 没有问题
|
dennisfox
一般會員 發表:1 回覆:2 積分:0 註冊:2005-06-05 發送簡訊給我 |
|
wujun0901
一般會員 發表:8 回覆:7 積分:3 註冊:2007-02-10 發送簡訊給我 |
|
HireMan
一般會員 發表:0 回覆:12 積分:2 註冊:2004-12-02 發送簡訊給我 |
开发Webservice 端还是用C#来编写调用很方便,只要将对应的WSDL输入D7的webService向导就生成对应的Service.pas接口文件
不过值的注意是要设置一个语言否则可能出现乱码 RIO.HTTPWebNode.UseUTF8InHeader := True ===== 分享快乐:www.delphichm.com |
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
我猜: 1. 你的 com 没有在你的 WebService 那台机器上注册,所以 CreateOleObject 不成功; 2. 如果没有 1 的问题,那么,可能是你没有在调用 COM 的时候,先做:CoInitailize(nil); 的操作。 ===================引 用 dennisfox 文 章=================== 我在webservice调用COM (按李先生的方式) CreateOleObject('Project2.testcom1'); 但是报无效的被呼叫方; 但是如果我直接在客户端调用就没有问题!很奇怪 开发工具为:D7 、WAD |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |