Главная страница
    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.039 c
15-1142026025
Amerzone
2006-03-11 00:27
2006.04.02
Архангельский А.Я.


2-1142847980
SEMYONov
2006-03-20 12:46
2006.04.02
Список пользователей + прозрачность


2-1142909634
Andrewmx
2006-03-21 05:53
2006.04.02
Деревья


3-1139408614
Wolferio
2006-02-08 17:23
2006.04.02
Ошибка при изменении даных


15-1141988762
Petr V. Abramov
2006-03-10 14:06
2006.04.02
Вопрос по архивам





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