如何获取引用单元的private函数(20)

  • 主题发起人 主题发起人 ecjtuhr
  • 开始时间 开始时间
E

ecjtuhr

Unregistered / Unconfirmed
GUEST, unregistred user!
如一个单元U_SimpleQuery 有如下定义type TSimpleQuery = class(Tpanel) . . .private Procedure QueryEditExit(Sender: TObject);我新建一个窗体TV_Query = class(TForm) SimpleQuery: TSimpleQuery;//并添加TSimpleQuery这个控件因为该控件中有个字典项,当它获得焦点时,字典一直呈下拉显示着,而窗体是ShowModal方式,所以当我点击其他应用程序,如打开网页时,该字典也一直显示着,这样影响‘视容’,在U_SimpleQuery 中的QueryEditExit过程是关闭字典控件的,可我调不到该方法,请指教!
 
把QueryEditExit放到 public下面。
 
我已试过还是不行
 
把你要调用的方法放在public域,或者继承一个新类,由新类来公布这个方法。或者你定义一个新的public方法,在这个新方法里调用这个私有方法
 
可以利用delphi中的友元机制,或者重写这个单元 to bahamut8348你继承这个类是不继承private的东西的!!而要改成 protected 才行!!
 
只要在同一个单元就可以。。type ta = class private procedure a; end;procedure ta.a;begin showmessage('a');end;type tb = class(ta) public procedure aa; end;procedure tb.aa;begin inherited a;end;procedure TForm1.FormCreate(Sender: TObject); var b: tb;begin b:= tb.Create; b.aa; b.Free;end;
 
可以在窗体切换到非激活状态时设置焦点到其他控件并记录状态,切换回来的时候再把焦点设置过去。
 
后退
顶部