![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Я вызываю свою процедуру из другого Unit..
Procedure TForm1.BitBtn1ToolClick(Sender: TObject); Begin "MyProcedure"; end; Так все работает! Но если я хочу вызвать вот в таком контексте.... Procedure TForm1.BitBtn1ToolClick(Sender: TObject); Begin BitBtn2.onclick:="MyProcedure"; end; То Делфи процедуру из другого Unit не воспринимает...почему? Воспринимает только если процедура создана на той-же форме где стартуется батон... |
|
#2
|
||||
|
||||
|
Добавь название этого юнита в секцию Uses
|
|
#3
|
||||
|
||||
|
Я так понял кавычки ( " ) просто обозначают место, куда вставляется процедура.
Теперь по порядку. Есть процедуры, а есть методы ( описываются в классах ). BitBtn2.onclick можно присвоить метод и то не каждый. Смотрим объявление: Код:
TControl = class(TComponent)
//...
property OnClick: TNotifyEvent read FOnClick write FOnClick stored IsOnClickStored;
//...
TNotifyEvent = procedure(Sender: TObject) of object;Используем ( без создания экземпляра объекта ) : Код:
unit Unit2;
interface
type
TMyToolsClass = class
class procedure MyBtnClickImplementor(Sender: TObject);
end;
implementation
{ TMyTolsClass }
class procedure TMyToolsClass.MyBtnClickImplementor(Sender: TObject);
begin
// чтото делаем
end;
end.Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.OnClick := TMyToolsClass.MyBtnClickImplementor;
end;
end. |
|
#4
|
|||
|
|||
|
Цитата:
Спасибо Огромное за разъяснение Все получилось! |
|
#5
|
|||
|
|||
|
Цитата:
Спасибо Огромное за разъяснение Все получилось! |