全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:842
推到 Plurk!
推到 Facebook!

物件 menthod 繼承 inheriter 的問題

答題得分者是:william
thomas0728
中階會員


發表:112
回覆:260
積分:89
註冊:2002-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-26 07:09:34 IP:61.70.xxx.xxx 未訂閱
各位大大:     我在 A FORM 寫了一個程序,宣告如下
TYPE
TBasSignle = class(TBASBASE)
......
protected
  function  GetBillInfoData(BillName:String):OleVariant;virtual;
END;    implementation
.....
function TBasSignle.GetBillInfoData(BillName:String):OleVariant;
//本程式雙檔以上需 override
// 但無法用 inherited;    begin
  if Trim(BillName)='cdsBillHead' then
     Result:=cdsBillHeadInfo.Data;
end;
END.
接著我的 b form 繼承於 a form 宣告如下    TYPE
TDMBas = class(TBasSignle)
......
protected
  function  GetBillInfoData(BillName:String):OleVariant;override;
END;    implementation
.....
function TDMBas.GetBillInfoData(BillName:String):OleVariant;
begin
  inherited;<-----這行會出錯,他告訴我型別不對
                  override的 inherited 無法傳回值嗎
                  因為如果我不傳回值就沒問題,有其它解法嗎,還是我那裡錯了
  if Trim(BillName)='cdsBillDetail' then
     Result:=cdsBillDeatilInfo.Data;
end;    END.        
如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-26 12:24:38 IP:147.8.xxx.xxx 未訂閱
function TDMBas.GetBillInfoData(BillName:String):OleVariant;
begin
  Result := inherited GetBillInfoData(BillName);
  if Trim(BillName)='cdsBillDetail' then
     Result:=cdsBillDeatilInfo.Data;
end;
系統時間:2024-05-18 13:07:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!