Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
1-49055
Dms
2003-01-08 11:50
2003.01.16
Ограничения размера INI файла


1-49133
VP
2003-01-05 16:21
2003.01.16
Координаты курсора мыши


3-48895
VDenis
2002-12-20 11:13
2003.01.16
Как сделать


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


3-48896
jessis
2002-12-18 12:37
2003.01.16
MySQL 4.0





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский