您现在的位置是:首页
>
桌面文件打不开未指定的错误 创建窗口时出现GetDynaMethod错误
创建窗口时出现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

这里self不是一个类实例 而是一个类引用 于是改成Frm_Client(主窗体) 看样子问题就在这里了
lishixinzhi/Article/program/Delphi/201311/8426 很赞哦! (1043)