Componenti/Creation order?

3 отговора 91 прегледа
#1

Componenti/Creation order?

Naposledak sam se zamislil da naprawq edin nabor ot komponenti kojto da ulesni konfiguriraneto na grupi ot obekti kloito zaedno obrazuwat web server. Kakaf e problema? Logikata na sabitiqta e takawa :
1. sazdawa se obekt(component) kojto predstawlqwa qdroto na servera
2. sazzdawat se obekti koito se wkluchwat w spisaci na qdroto koito predstawlqwat reakciite na zaqwkite
2,5. Sazdawat se obekti za shablonite za generiranite dokumenti.
3. Izchita se konfiguracionen fail i reakcite se donastrojwat po nego
4. qdroto se startira - serwera zapochwa da poluchawa zaqwki i da gi obrabotwa
Waprosa e moje li tazi shema nqkaksi da se realizira bez da e neobhodimo potrebitelq na komponentite da se nalaga da pishe otdelno izwikwane za t. 3 i 4? zashtoto drugoto moje da se naprawi delphi style - "samo s mishkata" no koda ot t. 3 i 4 trqbwa da se startira sled sazdawaneto na wsichki komponenti ot t. 2 i 2,5



------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на SDR #2

Re: Componenti/Creation order?

В базовия клас TComponent има един вируален метод, който понякога съм ползвал

procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;

Ако си напишеш наследник в тези компоненти, които изпълняват т.3 и 4, те ще знаят кога има достатъчно информация, т.е. т.1-2.5 (и евентуално т.3) са изпълнени, за да си свършат работата. А може и динамично да си правят закачки един към друг чрез този метод.

---
Не е важно да си добър, важното е да си ман-и-як!
Отговор
в отговор на ess #3

Re: Componenti/Creation order?

hmmm towa bi mi dalo informaciq koga se bobawq now komponent no ne i koj e posledniq za da moga da inicializiram sled nego ... a to towa e problema

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на SDR #4

Re: Componenti/Creation order?

Нали ти казах: направи си компонентите така, че да се закачат един за друг.
При добавяне на нов компонент преравяш формата (т.е. owner-а си) и търсиш дали всичко е налице да почнеш работа без потребителска намеса.

---
Не е важно да си добър, важното е да си ман-и-як!
Отговор