🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #3280

Re: delphi-eventhandlers

#3280
From: Lorenzo Dieryckx
Date: Sun, 18 Jan 2004 20:17
79 lines
3346 bytes
"Lorenzo Dieryckx" <slavearcDOEDITWEG@pandora.be> schreef in bericht
news:IPBOb.1406$H84.327756991@hestia.telenet-ops.be...
> Hello,
>
> Ik ben bezig met een projectje in delphi.
> Jammergenoeg ben ik nog niet echt bedreven in delphi, en dus
> heb ik voor het ogenblik wat problemen waar in niet
> direct info over vind.
>
> Het probleem is, dat ik een timer wil gebruiken in een klasse,
> en een procedure koppelen aan z'n onTime-event.
> in C++ deed ik dit vroeger zo:
>
> class foo
> {
>    private:
>         TTimer* myTimer;
>         void myTimerTime();
>    public:
>         foo();
> };
>
> foo::foo()
> {
>     this->myTimer->onTime = myTimerTime();        //<-- functiepointer
> meegeven
>     this->myTimer->Interval = 1000;
>     this->myTimer->Enabled = true;
> }
>
> void foo::myTimerTime()
> {
>     ShowMessage("de tijd is verstreken");
> }
>
>
> Ik wil dit nu vertalen naar delphi, maar als ik probeer een functiepointer
> te koppelen aan dat event, blijkt dat niet te lukken. Mijn probleem
> is waarschijnlijk dat ik veel te veel C++ gewend ben. Misschien
> werkt delphi wel helemaal niet op die manier, en zoek ik naar de
> verkeerde dingen. Het enige wat ik kan vinden ivm eventhandlers in Delphi,
> gaan over eventhandlers die via de object inspector gemaakt worden.
> Maar ik kan dan nergens in h��l mijn Unit een regel code vinden die
> de gecre�erde procedure koppelt aan dat bepaald event.
> Anyway, hieronder vind je hoe ik het vertaald heb naar delphi,
> gelieve mij te helpen om de c++ code eruit te halen ;-)
>
> type
>     foo = class
>     private
>         myTimer : TTimer;
>         procedure myTimerTime();
>     public
>         constructor Create();
> end;
>
> constructor foo.Create();
> begin
>     myTimer.onTime = myTimerTime;        {<-- problemen}
>     myTimer.Interval = 1000;
>     myTimer.Enabled = True;
> end;
>
> procedure foo.myTimerTime();
> begin
>     ShowMessage('de tijd is verstreken');
> end;
>
>
> bedankt op voorhand
> grts,
> Lorenzo
>
Mja, om te beginnen:
Verander alle '=' in de delphi source door ':='
sorry!
grts,
Lorenzo
Technical Details
Message-ID: <2RBOb.1407$Bg4.328275106@hestia.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-05!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.tiscali.de!easynet-monga!easynet.net!feed1.news.be.easynet.net!ossa.telenet-ops.be!hestia.telenet-ops.be.POSTED!not-for-mail
References: <IPBOb.1406$H84.327756991@hestia.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,3b45b289412de21e
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2004-01-18 12:17:04 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-05!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.tiscali.de!easynet-monga!easynet.net!feed1.news.be.easynet.net!ossa.telenet-ops.be!hestia.telenet-ops.be.POSTED!not-for-mail
From: "Lorenzo Dieryckx" <slavearcDOEDITWEG@pandora.be>
Newsgroups: be.comp.programming
References: <IPBOb.1406$H84.327756991@hestia.telenet-ops.be>
Subject: Re: delphi-eventhandlers
Lines: 81
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <2RBOb.1407$Bg4.328275106@hestia.telenet-ops.be>
Date: Sun, 18 Jan 2004 20:17:02 GMT
NNTP-Posting-Host: 213.224.114.234
X-Complaints-To: abuse@telenet.be
X-Trace: hestia.telenet-ops.be 1074457022 213.224.114.234 (Sun, 18 Jan 2004 21:17:02 CET)
NNTP-Posting-Date: Sun, 18 Jan 2004 21:17:02 CET
Organization: Telenet Internet