三層系統中中間層怎樣使用異動及返回值到客戶端? |
尚未結案
|
databeginner
一般會員 發表:4 回覆:2 積分:1 註冊:2003-06-13 發送簡訊給我 |
異動:
異動程序寫在中間層,然后在客戶端用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 發送簡訊給我 |
|
databeginner
一般會員 發表:4 回覆:2 積分:1 註冊:2003-06-13 發送簡訊給我 |
自已嘗試做了一下.結果如下:
異動:首先在中間層定義三個方法,然后在客戶端調用.
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 發送簡訊給我 |
引言: 自已嘗試做了一下.結果如下: 異動:首先在中間層定義三個方法,然后在客戶端調用. 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 端判断出了什么问题。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |