• evgenij (26.02.09 15:09) [0]
    Доброго времени суток, мастера!
    Помогите , плиз, ссылочкой или примером...Проблемка вот в чем:
    делаю первые шаги в написании компонент - решил изменить поведение ComboBox, а именно чтоб при OnExit выполнялся мой код, вот собственно текст модуля. Не судите строго...спасибо.

    unit MyComboBox;

    interface

    uses
     SysUtils, Classes, Controls, StdCtrls,Dialogs;

    type
     TMyComboBox = class(TComboBox)
     private
     procedure Exit(Sender: TObject);
       { Private declarations }
     protected
       { Protected declarations }
     public
     constructor Create(AOwner:TComponent);override;
       { Public declarations }
     published
       { Published declarations }
     end;

    procedure Register;

    implementation

     constructor TMyComboBox.Create(AOwner: TComponent);
     var Cb :TComboBox;
    begin
    Cb := TComboBox.Create(self);
    Cb.OnExit := Exit;
    end;

    procedure TMyComboBox.Exit;
    begin
    inherited;
    ShowMessage('OK');
    end;

    procedure Register;
    begin
     RegisterComponents('Standard', [TMyComboBox]);
    end;

    end.

  • DimaBr © (26.02.09 15:37) [1]
    А вопрос где ?
  • DimaBr © (26.02.09 15:39) [2]
    правильнее было бы так

    TMyComboBox = class(TComboBox)
    protected
       procedure DoExit; override;
    end;

    procedure TMyComboBox.DoExit;
    begin
    inherited;
    // мой код
    end;


  • DimaBr © (26.02.09 15:40) [3]
    Зачем в ComboBox-e создавать ещё один ???

    constructor TMyComboBox.Create(AOwner: TComponent);
    var Cb :TComboBox;
    begin
    Cb := TComboBox.Create(self);
    Cb.OnExit := Exit;
    end;

  • evgenij (26.02.09 15:45) [4]
    да ,сорри, забыл дописать....я этот компонент на форму положить не могу Access Violation.....
  • DimaBr © (26.02.09 15:53) [5]
    Прежде чем компонент проинсталировать, его немешало бы отладить.
    Создайте его динамически
  • evgenij (26.02.09 16:12) [6]
    ок.спасибо.
  • {RASkov} © (26.02.09 19:12) [7]
    > Зачем в ComboBox-e создавать ещё один ???

    Да еще это и утечка ресурсов... это к коду в [0] и + к [3]
Есть новые Нет новых   [134464   +62][b:0][p:0.001]