線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1378
推到 Plurk!
推到 Facebook!

APP Server 要傳回值卻出現問題

缺席
degr
一般會員


發表:22
回覆:36
積分:21
註冊:2002-03-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-08 16:26:36 IP:202.39.xxx.xxx 未訂閱
請問大大... 我在ap server設一function 是傳回 oldVARIANT 現在可以傳到apserver 卻不能回傳values 錯誤訊息如下: Call Cancellation 已停用.. 我只是寫簡單的傳值回值 傳值主要是做些簡單的sql 回值只是回字串而已 請問大大們知道這是哪裡出錯嗎.... 我的程式碼如下 clinet ; procedure TForm1.Button1Click(Sender: TObject); var s :Variant; begin s:=memo2.Text; SocketConnection1.Connected:=true; SocketConnection1.AppServer.getdata(s); memo1.Lines.Text:=s; end; appserver : function TTtest3.Get_getdata: OleVariant; begin result:=form1.edit1.text end; procedure TTtest3.Set_getdata(Value: OleVariant); begin form1.edit1.text:=Value; form1.indata(form1.edit1.text); end;
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-08 19:26:25 IP:61.64.xxx.xxx 未訂閱
clinet ; procedure TForm1.Button1Click(Sender: TObject); var s :OLEVariant; <--改成這樣試試 begin s:=memo2.Text; SocketConnection1.Connected:=true; SocketConnection1.AppServer.getdata(s); memo1.Lines.Text:=s; end; -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
degr
一般會員


發表:22
回覆:36
積分:21
註冊:2002-03-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-08 21:19:20 IP:61.13.xxx.xxx 未訂閱
Jasonwong 大大 一樣試過的結果一樣 一樣的錯誤訊息
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-10 15:20:18 IP:218.1.xxx.xxx 未訂閱
看你的app server是定义的一个Property哟,是否该这样调用
procedure TForm1.Button1Click(Sender: TObject);
var s :Variant;
begin
  s:=memo2.Text;
  SocketConnection1.Connected:=true;
  SocketConnection1.AppServer.getdata:=s;
  memo1.Lines.Text:=s;
end;
或SocketConnection1.AppServer.set_getdata(s); 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-02 13:02:53 IP:211.74.xxx.xxx 未訂閱
幫忙修正:  
 
procedure TForm1.Button1Click(Sender: TObject);
var s :Variant;
begin
  s:=memo2.Text;
  SocketConnection1.Connected:=true;
  //SocketConnection1.AppServer.getdata:=s;
  
  s := SocketConnection1.AppServer.getdata;
  
  memo1.Lines.Text:=s;
end;
不好意思,AppServer 我沒經驗,不過getdata的資料型態 不能為WideString嗎?
degr
一般會員


發表:22
回覆:36
積分:21
註冊:2002-03-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-03 00:34:18 IP:61.13.xxx.xxx 未訂閱
JOW       這我不曉得說... 我記得我有看過一位大大發表的 一篇文章關於 ShortString ,AnsiString , WideString 這三個型態的差異性    AnsiString = string(內定為AnsiString) 長文字使用下 ...
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-04 13:16:23 IP:211.74.xxx.xxx 未訂閱
不好意思,AppServer 我真的是沒有經驗,不過我可以提供 一點個人在Automation Object實作經驗,僅供參考,有誤莫怪.    以 IStrings 傳遞包含於TStrings中的字串.     
 
appserver :    (以TListBox代替TEdit,取其Items屬性)
function TTtest3.Get_getdata: IStrings;
begin
  GetOleStrings(Form1.ListBox1.Items, Result)
end;    procedure TTtest3.Set_getdata(Value: IStrings);
var
  L: TStringList;
begin
  L := TStringList.Create;
  try
    SetOleStrings(L, Value);
    ListBox2.Items.Assign(L);
  finally
    L.Free;
  end;
end;    clinet :    //Get 
procedure TForm1.Button1Click(Sender: TObject);
begin
  SocketConnection1.Connected:=true;
  SetOleStrings(inMemo.Lines, SocketConnection1.AppServer.getdata);
end;    //Set
procedure TForm1.Button2Click(Sender: TObject);
var
  Temp: IStrings;
begin
  SocketConnection1.Connected:=true;
  GetOleStrings(outMemo.Lines, Temp);
  SocketConnection1.AppServer.getdata := Temp;
end;    
系統時間:2024-05-01 5:08:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!