Delphi 中﹐我写的控件库单件﹐ 如何注册啊,,,,,使其能显示在paleete的某个面上……
以下为控件类代码﹐我里面已有注册函数﹐请知道的详述一下步骤………..相关问题…..
http://community.csdn.net/Expert/TopicView.asp?id=4319618
http://community.csdn.net/Expert/TopicView.asp?id=4316129unit myconponent;interfaceuses SysUtils, WinTypes, Messages, Classes, Graphics, Controls,
Forms, Grids, Calendar,dbctrls,db;type
  TDBCalendar=class(TCalendar)
  private
    fReadonly :boolean ;
    fupdating :boolean ;
    FDataLink :TFieldDataLink ;
    function GetDataField: string; { 返回数据库字段的名字 } 
    function GetDataSource: TDataSource; { 返回资料源(Data source)的引用 }
    procedure SetDataField(const Value: string); { 给数据库字段名赋值 }
    procedure SetDataSource(Value: TDataSource); { 给数据源赋值 }
    procedure Datachange(Sender: TObject);
  protected
    function selectcell(ACol,ARow:longint):boolean ;overload ;
  public
    constructor Create (Aower:TComponent) ; override ;
    destructor  Destroy() ;override ;
    procedure UpdateCalendar ;
  published
    property readonly :boolean read FReadonly write Freadonly default true ;
    property DataField: string read GetDataField write SetDataField;
    property DataSource: TDataSource read GetDataSource write SetDataSource;end ;
procedure  Register ;implementationprocedure Register;
begin
  RegisterComponents('Samples',[TDBCalendar]);
end;constructor TDBCalendar.Create(Aower:TComponent);
begin
  inherited create(Aower) ;
  fReadonly:=true ;
  FDataLink :=TfieldDataLink.Create ;
  Fdatalink.OnDataChange:= Datachange ;
end;destructor TDBCalendar.Destroy ;
begin
  fDATAlink.Free ;
  fdatalink.OnDataChange :=nil ;
  inherited destroy ;
end ;function TDBCalendar.SelectCell(ACol,Arow: Longint): Boolean;
begin
  if ( not fupdating) and FReadOnly  then
    Result := False
  else
    Result := inherited SelectCell(Acol,ARow);
end;procedure TDBCalendar.UpdateCalendar;
begin
  FUpdating := True;
  try
    inherited UpdateCalendar;
  finally
    FUpdating := False;
  end ;
end;function TDBCalendar.GetDataField: string;
begin
  Result := FDataLink.FieldName;
end;function TDBCalendar.GetDataSource: TDataSource;
begin
  Result := FDataLink.DataSource;
end;procedure TDBCalendar.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end ;procedure TDBCalendar.SetDataSource(Value: TDataSource);
begin
  FDataLink.DataSource := Value;
end;procedure tdbcalendar.Datachange(sender:tobject);
begin
  if FDataLink.Field =nil then
      CalendarDate := 0
  else
      CalendarDate := FDataLink.Field.AsDateTime ;
end ;end.