您现在的位置是:首页 >

桌面文件打不开未指定的错误 创建窗口时出现GetDynaMethod错误

火烧 2021-10-30 09:17:23 1043
创建窗口时出现GetDy aMethod错误   某个子窗口不是通过create(aow er)创建 而是通过另一个公共方法 rocedure TFrm_Em Select SelectEm FLi

创建窗口时出现GetDynaMethod错误  

  某个子窗口不是通过create(aowner)创建 而是通过另一个公共方法procedure TFrm_EmpSelect SelectEmp(FList:Tlist);begin  List:=Flist;  with TFrm_EmpSelect Create(self) do  begin   try      Showmodal;   finally      Free;   end;  end;end;    来调用 主要是传递了一个参数FList

  但是出现了错误 跟踪后发现是调用TCustomForm create > …… > TComponent Create 时在函数GetDynaMethod的下面这段发生错误

  @@haveVMT

  MOV EDI [EBX] vmtDynamicTable EDI是DMT的入口

  当时以为是否selectEmp函数不是类(static)函数的关系 于是改成类函数 编译通不过 修改了一下 通过了 运行后就正常了

  但是我又发现另外一个单元Login pas里面的login函数也是同样用法 也不是类函数(为什么不是构造函数 又不是类函数 但能够不实例化就调用 这个问题还有待研究) 可见改成类函数不是问题解决的关键 回想到改成类函数时编译错误发生在这行

  with TFrm_EmpSelect Create(self) do

桌面文件打不开未指定的错误 创建窗口时出现GetDynaMethod错误

  这里self不是一个类实例 而是一个类引用 于是改成Frm_Client(主窗体) 看样子问题就在这里了

lishixinzhi/Article/program/Delphi/201311/8426  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码