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

三層系統中中間層怎樣使用異動及返回值到客戶端?

尚未結案
databeginner
一般會員


發表:4
回覆:2
積分:1
註冊:2003-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-13 22:03:26 IP:218.14.xxx.xxx 未訂閱
異動: 異動程序寫在中間層,然后在客戶端用appserver調用. 請給點思路和代碼. :) 中間層返回值到客戶端: 客戶端.socketconnection.appserver.set_stockdata(.....); 中間層.procedure set_stockdata(pa1: Smallint; const pa2: WideString); safecall 只能傳入參數,如果要此方法(函數)能傳回值該怎麼寫? out 參數具体怎麼用法? 如: try adodataset1.UpdateBatch() except //messagedlg('存檔失敗',mtinformation,[mbok],0) //怎樣把失敗的訊息顯示在客戶端? end; 發表人 - databeginner 於 2003/06/13 22:06:30
richcomp
中階會員


發表:18
回覆:66
積分:51
註冊:2002-10-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-16 10:26:45 IP:61.155.xxx.xxx 未訂閱
請參考: protected function auto_no(const u_table: WideString): OleVariant; safecall; 正文: function TERPSVR.auto_no(const u_table: WideString): OleVariant; begin result:='信息!'; end;
databeginner
一般會員


發表:4
回覆:2
積分:1
註冊:2003-06-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-16 19:30:17 IP:218.14.xxx.xxx 未訂閱
自已嘗試做了一下.結果如下: 異動:首先在中間層定義三個方法,然后在客戶端調用. procedure Tstockdata.wz_begintrans(out SA6: WideString); begin Connection.BeginTrans; // sa6:='開始異動交易....'; end; procedure Tstockdata.wz_committrans(out SA6: WideString); begin Connection.CommitTrans; // sa6:='存檔成功,開始向數据庫提交....'; end; procedure Tstockdata.wz_rollbacktrans(out SA6: WideString); begin Connection.RollbackTrans; //sa6:='存檔失敗,開始向回混異動....'; end;
bundur
一般會員


發表:16
回覆:44
積分:22
註冊:2002-11-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-18 11:13:22 IP:218.104.xxx.xxx 未訂閱
引言: 自已嘗試做了一下.結果如下: 異動:首先在中間層定義三個方法,然后在客戶端調用. procedure Tstockdata.wz_begintrans(out SA6: WideString); begin Connection.BeginTrans; // sa6:='開始異動交易....'; end; procedure Tstockdata.wz_committrans(out SA6: WideString); begin Connection.CommitTrans; // sa6:='存檔成功,開始向數据庫提交....'; end; procedure Tstockdata.wz_rollbacktrans(out SA6: WideString); begin Connection.RollbackTrans; //sa6:='存檔失敗,開始向回混異動....'; end;
首先,在 Ap Server 上是可以定义 function 的方法的,在你定义方法时,最后加入一个参数,这个名称无所谓,类型为你要返回的值类型,在你的类型名后加上一个'*'号,如:你要返回字符串,于是定义了 BSTR 则改为 BSTR*,之后在"Modifier"中选择"RetVal"即可。 第二,Ap Server 上的错误,如果你没有进行捕获(没有使用 try...except ..end),错误信息将被丢到 Client 端的,你可以在 Client 端判断出了什么问题。
系統時間:2024-06-01 23:06:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!