Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
ВнизКак создать... Найти похожие ветки
← →
Fog (2002-11-09 15:05) [0]... процедуру типа TNotifyEvent? Ясно что ето procedure(Sender:TObject) of object; но если создать процедуру procedure Proc(Sender:TObject); и попробовать Button1.OnClick := Proc(Sender); то получится:
[Error] uMain.pas(30): Incompatible types: "TNotifyEvent" and "procedure, untyped pointer or untyped parameter"
← →
Геннадий (2002-11-09 15:22) [1]Не ты один с этим столкнулся. Просто в описании формы добавь procedure MyName(Sender : TObject);
А в OnCreate (или где тебе надо) - Button1.OnClick:= MyName;
Программно вызывается так: Button1.Click или MyName(Self/NIL)
Ну и по щелчку юзера.
← →
Fog (2002-11-09 15:48) [2]а ежль надо для только что созданного объекта например:
with TButton.Create(Self) do
begin
Tra-la-la := bla-bla-bla;
OnClick := MyProc;
end;
← →
Anatoly Podgoretsky (2002-11-09 15:52) [3]Да если MyProc в том же классе
← →
Alex44 (2002-11-09 19:35) [4]procedure =\= procedure of object !
(procedure zanimaet 1 pointer, a procedure of object---2).
TNotifyEvent = procedure ... of object;
T.e., objazatel"no
type
MyFunnyObject = class(...)
procedure MyClick(Sender: TObject);
end;
← →
Fantasist (2002-11-10 01:45) [5]
procedure Proc(Self:pointer;Sender:TObject);
begin
TButton(Sender).Caption:="ee";
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
@Button1.OnClick:=@Proc;
end;
или более культурно:
procedure Proc(Sender:TObject);
begin
TButton(Sender).Caption:="ee";
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
TMethod(Button1.OnClick).Code:=@Proc;
TMethod(Button1.OnClick).Data:=nil;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c