Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

Очень простой вопрос.   Найти похожие ветки 

 
coder-lamer   (2003-01-07 01:36) [0]

Как в runtime указать процедуру которая должна выполняться по событию компонента?


 
KilkennyCat ©   (2003-01-07 02:25) [1]

Нда... А еще скажите мне, что такое Делфи, а то я тут диск нашел, не знаю, ставить, не ставить...


 
coder-lamer   (2003-01-07 02:41) [2]

2KilkennyCat: Обясняю, форум был создан для поддержки начинающих, и проффесиональных программистов, здесь принято отвечать на вопросы, ты отвечаешь - тебе отвечают, помогают ... Это я так для "особо умных".
А что такое Delphi я знаю! На паскале пишу уже больше 3-х, а на Delphi ну всего не-ско месяцев и мне никогда в RunTime"е не приходилось показывать компоненту какую процедуру ему использовать! Ну вот так получилось, ну извини ты, что я такой тупой и что я тебя в форуме отвлек от гораздо боолее важного вопроса "Спящий режим" или "Как сделать чтобы окно "вылазило" наверх по событию?"!!!


 
atmospheric ©   (2003-01-07 02:48) [3]

ну просто в коде описываешь процедуру к примеру

procedure TForm1.MyClic(Sender: TObject);
begin
DoSomeThing();
end;

ну еще эту процедуру надо описать в самом начале там и где все процудуры
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure MyClic(Sender: TObject);
end;

а года создаещь компоненту то -
MyButton := TButton.Create(Form1);
MyButton.Parent(Form1);
MyButton.OnClick := MyClick;


 
coder-lamer   (2003-01-07 02:54) [4]

А нет у меня формы то, вот в чем загвоздка.


 
atmospheric ©   (2003-01-07 03:04) [5]

да разницы то нет все равно...
Component.OnEvent := MyEvent;


 
atmospheric ©   (2003-01-07 03:05) [6]

где MyEvent какая-то процедура.


 
coder-lamer   (2003-01-07 03:45) [7]

Да если бы все было так просто, я бы и не стал такой вопрос задавать я так и делаю в общих чертах:
Component.OnEvent := MyEvent;
На что получаю ошибку
[Error]Incompatible types: "method pointer and regular procedure"


 
coder-lamer   (2003-01-07 03:49) [8]

Не совместимые типы указатель на метод и процедура :(
То есть надо что-то хитро указывать, а как я не знаю :(


 
atmospheric ©   (2003-01-07 03:56) [9]

а ты создай этот компонет визуальн (те брось его на форму), потов обжект енспекторе, щелкни тебя интересующие событие, и посмотри какие переменные передаются процедуре обрабатывающие это собщение
- procedure OnClick(Sender: TObject; Button: TButonns.... итд);


 
Dakis ©   (2003-01-07 04:10) [10]

Укажи адрес, типа @Comp.OnEvent := @MyProc


 
coder-lamer   (2003-01-07 04:10) [11]

Да это итак знаю, только толку все равно нет! Я и процедуру с такими параметрами обьявлял и присваивать свойству пробовал, вообще баста и все! :(


 
coder-lamer   (2003-01-07 04:14) [12]

2Dakis: только по идее надо было написать Comp.OnEvent := @MyProc, но это тоже не проходит!


 
coder-lamer   (2003-01-07 04:16) [13]

Блин а ведь написал так @Comp.OnEvent := @MyProc и сработало :) странно как бессмыслица какая-то.
Большое Спасибо!


 
DJ_Sedoy ©   (2003-01-07 04:34) [14]

А зачем обязательно класс с этим методом должен быть визульным?
Сделай Unit2 (3,4 и т.п.)
а там с чистой совестью пиши:

Type TMyClass = class(TObject)
procedure MyNotify(Sender: TObject);
....................
end;

Var MyClass: TMyClass;

implementation

procedure TMyClass.MyNotify(Sender: TObject);
Begin
....
end;


Вот у тебя и метод класса. Как раз он и давал ошибку - несовместимые типы - процедура и метод класса.


 
coder-lamer   (2003-01-07 04:45) [15]

Нет смысла так как все уже заработало. Спасибо за идею.


 
diks ©   (2003-01-07 05:57) [16]

Ну ответъте пожалуйста:
У меня 2 формы хочу чтобы:
вводишь yjc в первую
нажимаешь кнопку
во второй появлялось слово нос
помогите пожалуйста что то вроде декодера заранее БЛАГОДАРЕН


 
DJ_Sedoy ©   (2003-01-07 07:34) [17]

Черт... класс конечно от TObject - не совсем корректно.
(Это уже для последователей, кому подобное надо будет)


 
Song ©   (2003-01-07 09:43) [18]

2diks © (07.01.03 05:57)
ToAscII() или вручную



Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
8-49166
brestmarket
2002-09-28 05:13
2003.01.16
Как добавить в свою прогу возможность видео-диалога через WebCam?


3-48866
Eugene_S
2002-12-19 11:07
2003.01.16
Метод Seek -объявил забостовку (else сыканул)


1-48998
diks
2003-01-07 05:58
2003.01.16
!ПЛИЗ!


14-49251
Cr@sh
2002-12-24 19:19
2003.01.16
Меня загребают....2 - меня загребли...


1-49081
Beglec
2003-01-05 00:48
2003.01.16
Старый и замученный вопрос