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

更改繼承后出現的問題

缺席
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-07 18:19:19 IP:163.28.xxx.xxx 未訂閱
此問題是下貼後續的 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=72432 就是更改當前form繼承對象的問題,但是我改了之後,發現fmMain不能訪問到fmA(fmA為更改過繼承的form)裏的任何變量,比如fmA.pagecontroll,fmA.button等均無法訪問到,只能訪問到那些show之類的方法而已,請問這是爲什麽?謝謝!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-07 20:54:42 IP:219.86.xxx.xxx 未訂閱
第一點必須轉型 TfmA(fmMain).pagecontroll    第二點個人認為簡單的作法不需動到Dfm 可以
type
  TfmA = class(TForm)
    .....
  private
  public
  end;
  TForm  = Class(TfmA);
並在Type TfmMain = Class(Tform) 之前的 Uses 加入TfmA 單元。 簡單明瞭。..參考 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ 發表人 - wameng 於 2005/06/07 20:56:28
mustapha.wang
資深會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-08 09:29:59 IP:210.22.xxx.xxx 未訂閱
你的fmA到底是祖先还是后代,先不管,假设,    Unit1.pas里有TFormA,上面有PageControl1:TPageControl, Unit2.pas里的TFormB继承自TFormA,即TFormB=class(TFormA),dfm也改了,    那么 FormA:TFormA; FormB:TFormB;    无论如何 FormA.PageControl1和FormB.PageControl1都是可以的。    你的不可以是codeinsight还是编译时不可以,如果是codeinsight,请不要相信,codeinsight也有很多bug,该有的属性方法有时会列不出来。编译得过才是硬道理。     久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-08 09:49:48 IP:220.161.xxx.xxx 未訂閱
謝謝兩位的回答。不好意思我表達的不清楚,fmA是後代,裏面有pagecontorl,fmA繼承自fmBase,fmBase是空的什麽控減都沒有,只處理一些基本的共用procedure比如close事件等等。我想在fmMain呼叫出fmA的時候,fmA的pagecontrol的切換到第n頁。 wameng大大的第一點是可以訪問到了,但是不知道爲什麽呼出fmA切換tab的時候會出現access錯誤,而第二點我還是不太清楚,您寫的怎麽只有TForm和TfmA的關係,應該是TForm,TfmA和TfmBase三者之間的關係把,或者是小弟比較笨沒理解望指教!mustapha.wang大大,按您的方法做了之後,我是編譯不能通過的不是codeinsight,覺得有點怪,還有別的可能性嗎?
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-08 12:21:31 IP:222.78.xxx.xxx 未訂閱
對不起原來是我在改了TFormA=class(TFormB)后自己又把var那邊的FormA:TForm改成了FormA:TFormB,現在ok了麻煩兩位了謝謝!
系統時間:2024-05-17 17:56:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!