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

Вниз

Application.OnActivate   Найти похожие ветки 

 
Призрак ©   (2006-03-14 21:49) [0]

Хочу сделать, чтобы при активации окна программы вызывалась моя процедура. Написал на Form1.OnActivate, потом понял что оно не вызывается когда я переключаюсь с другого приложения - вызывается Application.OnActivate. А как привесить туда что-то?.. В форме всё просто - задаётся свойство при описании и потом пишется, а объект инспектором так вообще на автомате но как сделать то же самое для приложения?..


 
Anatoly Podgoretsky ©   (2006-03-14 21:54) [1]

Точно также


 
Desdechado ©   (2006-03-14 21:54) [2]

1. посмотреть тип требуемой процедуры в справке
2. создать свою по образцу
3. Application.OnActivate := твоя_процедура


 
Рамиль ©   (2006-03-14 21:56) [3]

Что бы совместить с OnActivate формы, просто

procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnActivate := Self.FormActivate;
end;


 
Призрак ©   (2006-03-14 22:10) [4]

Ну я так и сделал...

property OnActivate: TNotifyEvent
вот оно.

type TNotifyEvent = procedure (Sender: TObject) of object
вот тип. обычный.

пишу:

unit unit1;

interface

...

procedure sorcery(Sender:TObject);

implementation

procedure TForm1.OnCreate(Sender: TObject);
begin
;
end;

procedure sorcery(Sender: TObject);
begin
// something
end;


...я не понимаю, где надо описать эту процедуру как часть application...
процедура которая часть класса описывается при описании класса, а описания приложения я не видел...
если здесь вместо sorcery везде поставить application.sorcery , то в описании процедура компилер смеётся над точкой => так нельзя :)
а если не ставить - то при Application.OnActivate:=sorcery говорит Incompatible types: method pointer and regular procedure.


 
Призрак ©   (2006-03-14 22:14) [5]

Ага, как Рамиль советует - получилось. :) Но всё равно интересно...


 
Anatoly Podgoretsky ©   (2006-03-14 22:20) [6]

Призрак ©   (14.03.06 22:10) [4]
Ее не надо как часть Application, вполне пойдет как часть TForm1


 
Призрак ©   (2006-03-14 22:26) [7]

эмммммм...

...

а. дошло 8)

спасибо. :)


 
Anatoly Podgoretsky ©   (2006-03-14 22:48) [8]

Только не забудь в OnDestroy сделать
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Application.OnActivate := nil;
end;


 
Призрак ©   (2006-03-15 11:06) [9]

Ой... я забыл. :) То есть, я просто не совсем понимаю... зачем? Ну, я знаю, что всё созданное надо освобождать, но это... А, дошло. И всё-таки, что будет если не освобождать созданные объекты? Просто загаживание памяти?.. Я никогда не задумывался над этим, просто знаю что НАДО освобождать :)


 
Плохиш ©   (2006-03-15 11:26) [10]


> И всё-таки, что будет если не освобождать созданные объекты?

Будут возникать ветки в различных форумах на тему "почему вындовс тормозит?", "куда девается память?", "вындовс - маст дай" и т.д.



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

Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
11-1123695011
raskin
2005-08-10 21:30
2006.04.02
KOL - 2.10 - KeyPreview


2-1142861326
VEZ
2006-03-20 16:28
2006.04.02
Drag&Drop


8-1128314222
NikNet
2005-10-03 08:37
2006.04.02
Как быстро сравнить два TBITMAP?


15-1141972607
WondeRu
2006-03-10 09:36
2006.04.02
Рабство vs Армия


2-1142831819
Canopus
2006-03-20 08:16
2006.04.02
Отметка в меню POPUP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский