zoukankan      html  css  js  c++  java
  • Property OldCreateOrder does not exist 错误解决!

        在使用Frame作为基类实现继承时,发现窗口出现“Property OldCreateOrder does not exist ”的错误,在网上找了一大圈也没有。后来在Borland网站上找到了一些线索http://qc.borland.com/wc/qcmain.aspx?d=9481 和 http://qc.borland.com/wc/qcmain.aspx?d=5866 ,看一下我的代码:
      TDMIBFrameHandle = class(TFrame)
      protected
        FOPETreeView: TMIBTreeView;
        
    function CheckEditers: Boolean; virtual; abstract;
        
    procedure ClearAddEditCheck; virtual; abstract;
        
    procedure ClearEditer; virtual; abstract;
        
    procedure DisableEditers; virtual; abstract;
        
    procedure DisableGrid; virtual; abstract;
        
    procedure EnabledEditers; virtual; abstract;
        
    procedure EnableGrid; virtual; abstract;
        
    function GetColumnValue(const aFieldName: string): Variant; virtual;
            abstract;
        
    procedure GetEditerValues; virtual; abstract;
        
    procedure InitializeEditer; virtual; abstract;
        
    procedure InitializeToolBar; virtual; abstract;
        
    procedure StartSelect; virtual; abstract;
      public
        
    procedure Close; virtual;
        
    procedure StartSurf; virtual;
      
    end;

      TDMIBFrame 
    = class(TDMIBFrameHandle)
      
    end;

        光看这代码我想应该没有什么问题,但问题就出在这代码上。因为这个代码是建立纯PAS文件,也就是说不带窗口的PAS。因为OldCreateOrder 是Form才有属性,那么如果以这个类来继承它会自动加上Form中的属性(因为基类没有窗口,而继承类中有窗口,Delphi自动加上了Form的属性)。那么解决方法很简单,创建一个带窗口的Frame基类,再从这个基类继承即可。不知道是不是单间D7的问题(感觉是个BUG),2007不知道有没有这个问题。
  • 相关阅读:
    python中的函数编程
    Python中的类型关系和继承关系
    MySQLdb for Python使用指南
    调试模式
    js window.open打开新页面
    JVM调优
    jacoco(spring boot启动) agent tcpserver使用方案
    C#多线程之ManualResetEvent和AutoResetEvent
    下载verycd的方法下载电驴资源隐藏资源的最新可用方法
    C# 多线程之信号量Semaphore
  • 原文地址:https://www.cnblogs.com/sonicit/p/1129586.html
Copyright © 2011-2022 走看看