Ошибка редактора при создании хелпера

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
stikriz
энтузиаст
Сообщения: 612
Зарегистрирован: 15.03.2006 08:37:47

Ошибка редактора при создании хелпера

Сообщение stikriz »

Похоже, что хелперы у нас есть :-)
Однако, IDE не позволяет нормально работать.
Lazarus Сборка 0.9.31 FPC - 2.5.1
Вот такой текст компилится и работает нормально:

Код: Выделить всё

  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure OnClickMethod(Sender: TObject);
  private
    { private declarations }
  public
  protected
    procedure DoShow; override;
  end;

  TMyClassHelper = class helper for TForm
   public
   function GetNewName: string;
  end;


var
  Form1: TForm1;

implementation

{$R *.lfm}

function TMyClassHelper.GetNewName: string;
begin
  Result:=Self.Name;
end;

{ TForm1 }

procedure TForm1.DoShow;
begin
  inherited DoShow;
  Button1.OnClick:=@OnClickMethod;
end;

procedure TForm1.OnClickMethod(Sender: TObject);
begin
  Edit1.Text:=Form1.GetNewName;
end;

end.


DoShow пришлось использовать потому, что IDE сносит крышу при объявлении хелпера. Ни компоненты в форму не вставить, ни удалить... Ни методы объявить... Ругается, что TDefaultComponentEditor не может создать метод, например.
Однако, уже радует, что работа над хелперами идет.
Аватара пользователя
AlexVinS
новенький
Сообщения: 95
Зарегистрирован: 27.01.2009 00:18:01

Сообщение AlexVinS »

Я уже отправлял багрепот на эту тему недавно. http://bugs.freepascal.org/view.php?id=20623 Ждёмс.
Ответить