Привет. Вопросик. Создается в рантайме TNMFTP компонента. надо по событию OnConnect подставить свою процу.
Вопрос.
Что надо написать, чтобы создать эту процу? (Синтаксис)
И как процу подключить к NMFTP — компоненте. (Синтаксис)
Здравствуйте, alt7, Вы писали:
A>Привет. Вопросик. Создается в рантайме TNMFTP компонента. надо по событию OnConnect подставить свою процу. A>Вопрос. A>Что надо написать, чтобы создать эту процу? (Синтаксис)
Если это TNotifyEvent, (лень подымать Дельфи), то синтаксис такой:
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, alt7, Вы писали:
A>>Привет. Вопросик. Создается в рантайме TNMFTP компонента. надо по событию OnConnect подставить свою процу. A>>Вопрос. A>>Что надо написать, чтобы создать эту процу? (Синтаксис)
Я ж говорю, содзается в рантайме и формы никакой нет.
Здравствуйте, alt7, Вы писали:
A>Здравствуйте, Sinclair, Вы писали:
S>>Здравствуйте, alt7, Вы писали:
A>>>Привет. Вопросик. Создается в рантайме TNMFTP компонента. надо по событию OnConnect подставить свою процу. A>>>Вопрос. A>>>Что надо написать, чтобы создать эту процу? (Синтаксис)
A>Я ж говорю, содзается в рантайме и формы никакой нет.
Ну кто-то же есть? Хоть и в рантайме?
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, alt7, Вы писали:
A>Привет. Вопросик. Создается в рантайме TNMFTP компонента. надо по событию OnConnect подставить свою процу. A>Вопрос. A>Что надо написать, чтобы создать эту процу? (Синтаксис) A>И как процу подключить к NMFTP — компоненте. (Синтаксис)
help for Delphi
type TNotifyEvent = procedure (Sender: TObject) ofobject;
это значит что обработчиком события может быть только метод класса
для этого в том классе где у тебя объявлен NMFTP объявляешь процедуру с единственным параметром Sender: TObject и присваеваешь ее, методу обработчику OnConnect, если класса нет, тогда свой класс напиши, только создать его перед использованием не забудь TSomeClass.Create
Здравствуйте, SDS, Вы писали:
SDS>для этого в том классе где у тебя объявлен NMFTP объявляешь процедуру с единственным параметром Sender: TObject и присваеваешь ее, методу обработчику OnConnect, если класса нет, тогда свой класс напиши, только создать его перед использованием не забудь TSomeClass.Create
Не, ну раз пошла такая пьянка, то можно и метод класса использовать. Это ежели контекст нам не нужен. Есть дыра такая в дельфи. Пишешь
TSomeClass = class
class procedure SomeProc(Sender: TObject);
end;
...
NMFTP1.OnConnect = TSomeClass.SomeProc;
безо всяких криэйтов.
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, SDS, Вы писали:
SDS>>для этого в том классе где у тебя объявлен NMFTP объявляешь процедуру с единственным параметром Sender: TObject и присваеваешь ее, методу обработчику OnConnect, если класса нет, тогда свой класс напиши, только создать его перед использованием не забудь TSomeClass.Create S>Не, ну раз пошла такая пьянка, то можно и метод класса использовать. Это ежели контекст нам не нужен. Есть дыра такая в дельфи. Пишешь S>
S>TSomeClass = class
S> class procedure SomeProc(Sender: TObject);
S>end;
S>...
S> NMFTP1.OnConnect = TSomeClass.SomeProc;
S>
S>безо всяких криэйтов.
ну не дыра, а в некоторых случаях вещь удобная, можно еще лекцию о том чем обычная процедура от метода класса отличаеться прочитать, да еще чего-нибудь из ООП, только надо ли это?
SDS>help for Delphi
SDS>type TNotifyEvent = procedure (Sender: TObject) ofobject;
SDS>это значит что обработчиком события может быть только метод класса
SDS>для этого в том классе где у тебя объявлен NMFTP объявляешь процедуру с единственным параметром Sender: TObject и присваеваешь ее, методу обработчику OnConnect, если класса нет, тогда свой класс напиши, только создать его перед использованием не забудь TSomeClass.Create
Штука в том, что приложение консольное, есть только Application, NMFTP, и усе.
А надо сделать обработчики событий, дык отлавливать всякие нестандартные ситуации
Здравствуйте, alt7, Вы писали:
A>Штука в том, что приложение консольное, есть только Application, NMFTP, и усе. A>А надо сделать обработчики событий, дык отлавливать всякие нестандартные ситуации
Ну так в чем шутка — то?
пишешь свой класс
TSomeClass = class
public
procedure DoOnConnect(Sender : TObject);
end;
procedure TSomeClass.DoOnConnect(Sender : TObject);
begin{Do something}end;
класс этот можно разместить в тот же модуле где у тебя создаеться NMFTP, создаешь его
var
SomeClass : TSomeClass;
begin
SomeClass := TSomeClass.Create;
NMFTP.onConnect := SomeClass.DoOnConnect;
{Do something}
SomeClass.Free;
end;
Ну да, это не дыра. Это я про другую дыру подумал — про то, что можно методы класса использовать как аксессоров для пропертей. Если они виртуальные, то все — трындец. А комипилер даже не пикает.
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.