unit  Seashore;  
 
interface  
 
uses  
   Windows,  Messages,  SysUtils,  Classes,  Graphics,  Controls,  Forms,  Dialogs,dbtables,  
   db;  
 
type  
   TSeashore  =  class(TComponent)  
   private  
       {  Private  declarations  }  
       TSS_Table:TTable;  
       TSS_DataSource:TDataSource;  
       TSS_TableName:String;  
       TSS_DataSourceName:String;  
       TSS_DataBaseName:String;  
       TSS_FindedDBString:String;  
       procedure  TSS_SetTable(Table:TTable);  
       procedure  TSS_SetDataSource(DataSource:TDataSource);  
       function    TSS_GetDBString:String;  
   protected  
       {  Protected  declarations  }  
   public  
       {  Public  declarations  }  
   property  
         OpenDBpath:String  Read  TSS_GetDBStrig;  
   published  
       {  Published  declarations  }  
       property  
         Table:TTable  Read  TSS_Table  Write  TSS_SetTable  ;//这个地方有错误.Why?  
       property  
         DataSource:TDataSource  Read  TSS_DataSource  Write  TSS_SetDataSource;  
       property  
         DataBaseName:String  Read  TSS_DataBaseName  Write  TSS_DataBaseName;  
       property  
         TableName:String  Read  TSS_TableName  Write  TSS_TableName;  
   end;  
 
procedure  Register;  
 
implementation  
 
procedure  Register;  
begin  
   RegisterComponents('Baby',  [TSeashore]);  
end;  
 
{  TSeashore  }  
 
function  TSeashore.TSS_GetDBString:  String;  
begin  
//  
end;  
 
procedure  TSeashore.TSS_SetDataSource(DataSource:  TDataSource);  
begin  
//  
end;  
procedure  TSeashore.TSS_SetTable(Table:  TTable);  
begin  
//  
end;  
 
end.  
                                                                                                                                                                                                                                                                       Event  of  
       seBtnClick:        PlaySound('ENC_001',0,Flags);  
       seMenu:                PlaySound('ENC_002',0,Flags);  
       seMenuClick:      PlaySound('ENC_003',0,Flags);  
       seMoveIntoBtn:  PlaySound('ENC_004',0,Flags);  
       sePanelExpand:  PlaySound('ENC_005',0,Flags);  
   end;  
end;  
 
end.  
谢谢高手指点迷津!

解决方案 »

  1.   

    TTable没有被创建!!!
    解决方法:
    1.在public处重载构造函数Create和析构函数Destroy
    2.在Create的实现中输入以下代码:
    inherited Create(AOwner);
    TSS_Table := TTable.Create(Self);
      在Destroy的实现中输入以下代码:
    TTS_Table := TTable.Destroy;
    inherited Destroy;
    3.TTS_SetTable的代码应为:
    TTS_Table.Assign(Table);注意:对象必须在被创建后才能使用
      

  2.   

    非常感谢 楼上的伙计! (TigerSoldier(大兵));
     终于知道了. Thankyou! ^O^
      

  3.   

    这些是一些基本的问题,其实参照一下Delphi里的控件的源代码就可以解决大部分问题了