Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Добавление процедуры в код компонента


Автор: EDuard 2.9.2005, 17:07
Пишу компонент в private добавляю процедуру
Код

Procedure SetAlign(AlignV:Talign);


Но при запуске вылезает ошибка

[Error] AlignCheckBox.pas(14): Unsatisfied forward or external declaration: 'AlCheckBox.SetAlign';

В чем моя ошибка?

Автор: _hunter 2.9.2005, 17:22
скорее всего в том, что реализации этой процедуры нет

Автор: EDuard 2.9.2005, 19:04
А как решить этот вопрос?

Автор: _hunter 2.9.2005, 19:12
добавить реализацию smile

Автор: EDuard 2.9.2005, 19:24
_hunter, краткость - сестра таланта!

Добавил, все то же.

Автор: dvamaster 2.9.2005, 19:25
Может от того не работает, что эта процедура уже реализована в потомке?

Автор: _hunter 2.9.2005, 19:32
EDuard, код покажи

Автор: EDuard 2.9.2005, 19:35
Вот код:

Код

unit AlignCheckBox;

interface

uses
  SysUtils, Classes, Controls, StdCtrls;

type
  TAlign = (alNone,alBottom,alTop,alRight,alLeft);
  AlCheckBox = class(TCheckBox)
  private
        { Private declarations }
  FAlign:TAlign;
  Procedure SetAlign(AlignV:Talign);
  protected
    { Protected declarations }
  public
    { Public declarations }
  published

    { Published declarations }
  property Align:TAlign read FAlign write SetAlign default alNone;
  end;

procedure Register;

implementation

Procedure SetAlign(AlignV:Talign);
Begin
//Что эта процедура здесь описана, что нет ошибки одинаковые 
end;

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

end.

Автор: _hunter 2.9.2005, 19:42
ее так:
Procedure AlCheckBox.SetAlign(AlignV:Talign);
Begin
end;
нужно писать

Автор: EDuard 2.9.2005, 19:46
Круто!

_hunter, Спасибо!

Автор: dvamaster 2.9.2005, 19:48
SetAlign реализован в TControl.

Не партесь, создайте AlSetAlign, все равно в приват никто не залезет.

И берите потомком TCustomCheckBox, можно некоторые поля по свойски убрать за ненадобностью!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)