Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

bez kliktanja molim

[es] :: Pascal / Delphi / Kylix :: bez kliktanja molim

[ Pregleda: 2010 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

erekoz
John Doe
Beograd

Član broj: 5960
Poruke: 148
*.tvmetropolis.com



Profil

icon bez kliktanja molim03.09.2003. u 12:52 - pre 250 meseci

Sta treba da uradim da bi program krenuo sa radom odmah nakon ukljucivanja, a ne da ga prvo ukljucim, pa onda kliknem na neko dugme pa on pocne da radi?

P.S. Hvala svima na ovom forumu, tako malo mesto a tako mnogo ljubaznih ljudi
 
Odgovor na temu

goblin
Milan Aleksic
Gtech Belgrade, Sofware Engineer II
Beograd

Član broj: 4055
Poruke: 85
*.beotel.net

Jabber: milanaleksic@gmail.com
Sajt: www.milanaleksic.net


Profil

icon Re: bez kliktanja molim03.09.2003. u 16:08 - pre 250 meseci
Pogledaj dogadjaje Form1.OnActivate i Form1.OnCreate (u ovom ne smes da radis nista sa komponentama posto nije garantovano da su sve kreirane).
Don't try to impress me... I'm good !
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.242.EUnet.yu



+1 Profil

icon Re: bez kliktanja molim03.09.2003. u 16:40 - pre 250 meseci
Stavi u OnPaint glavne forme sledeci kod:


Code:

procedure TMojaForma.FormPaint(Sender: TObject);
begin
    OnPaint := NIL; // Sa ovim si siguran da ce se 
                    // ovaj poziv desiti samo jednom

    .... // Ovde stavis kod koji zelis da se izvrsava kada se forma prikaze
end;


OnPaint se poziva svaki put kada je potrebno da se forma iscrta
sto znaci da je forma stigla do tacke kada se prikazuje.
Ovo se desava posle OnShow event-a. Cim se prvi put pozove OnPaint
setujemo pokazivac OnPaint procedure na NIL sto znaci da
forma nece sledeci put uci u ovu proceduru.


Prednost ove metode je sto si siguran da je forma
prikazana kada se poziva pocetak nekog zadatka.

Sto se tice OnCreate koji je goblin pominjao, sve
komponente kojima je forma vlasnik su kreirane u
trenutku pozivanja OnCreate tako da mozes da ih
koristis, samo moras da pazis da ne zahtevas promene
koje su vezane za interfejs (fokus itd.). To ponasanje
je sigurno za sve komponente koje stizu uz delphi.
[code][code][code]
 
Odgovor na temu

goblin
Milan Aleksic
Gtech Belgrade, Sofware Engineer II
Beograd

Član broj: 4055
Poruke: 85
*.beotel.net

Jabber: milanaleksic@gmail.com
Sajt: www.milanaleksic.net


Profil

icon Re: bez kliktanja molim04.09.2003. u 12:01 - pre 250 meseci
U principu, postoji metod Application.OnIdle koji kreiran bas da bi se sa njom postupalo na nacin na koji je preporucio morlic, samo sto se ovaj event ne nalazi na listi u Object Inspector-u (iz razumljivih razloga... Application je runtime objekat).
Ja ovaj problem resavam na sledeci (klasican) nacin: u OnCreate postavim Application.OnIdle na moj korisnicki metod klase obrasca sledeceg tipa (u helpu je isto napomenut, naravno):
Code:

procedure TMojaForma.KorisnickiOnIdle(Sender: TObject; var Done: Boolean);

a unutar samog metoda anuliram pokazivac na metod (kao sto je to odradio morlic). Napomena: ovaj metod se poziva svaki put kad program nema sta da radi... moze doci do pada programa ako se ne anulira ovaj pokazivac! Najbolje je uvek iskoristiti metod, pa anulirati i tako u krug po potrebi (cak i u toku rada programa).

Druga stvar, opet priznajem da sam napravio lapsus u pisanju... nije trebalo da kazem "nisu konstruisane" vec "nisu pripremljene za rad u potpunosti", znam za red konstruisanja objekata (ali opet, nisam mogao da pretpostavim da ce imati ovakve dalekosezne posledice :). Cak mislim da je i bolje malo "zaplasiti" osobu na ovakav nacin koja bi u OnCreate trazila zahtevne stvari od komponenti... glupo je jer korisnik nece ni videti sta se desava (forma jos nije ni prikazana) a nije ni bezbedno (ako se covek navikne sa pisanjem glomaznih komandi u OnCreate ponekad moze doci do ruznih excpetiona koji se tesko provaljuju od strane pocetnika). OnCreate je idealna stvar za pripremanje aplikacije (tj. forme) za rad (kreiranje manjih temporary korisnickih objekata, citanje parametara i informacija iz registryja itd.), a ne za pisanje logike programa u njoj. Za obilazenje interfejsa postoji "Project/View source" ili TP ako je neko raspolozen :)
Don't try to impress me... I'm good !
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: bez kliktanja molim

[ Pregleda: 2010 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.