Главная страница
    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.46 MB
Время: 0.035 c
15-1142288276
Нужна помощь
2006-03-14 01:17
2006.04.02
Нужен компонент аналогичный TRxCalc, только, чтобы мышкой можно


2-1142386962
Bratskiy
2006-03-15 04:42
2006.04.02
Склеивание форм


4-1137190625
ma5ter
2006-01-14 01:17
2006.04.02
Создание Bitmap


2-1142886765
Luarv
2006-03-20 23:32
2006.04.02
Удалить элемент ФАЙЛА


2-1142401391
Gamer
2006-03-15 08:43
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский