🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #3282

Re: delphi-eventhandlers

#3282
From: Lorenzo Dieryckx
Date: Sun, 18 Jan 2004 22:10
96 lines
4432 bytes
"KLinZ" <klinz@NOSPAMzenobitsSPAMMERTSNO.com.invalid> schreef in bericht
news:100lse5s18me85a@corp.supernews.com...
> Lorenzo Dieryckx wrote
> (news:IPBOb.1406$H84.327756991@hestia.telenet-ops.be):
>
> > 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.
>
> <snip c++>
>
> > 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.
>
> Delphi kent ook functie pointers, maar als uitbreiding daarop heeft men
> events bedacht.
>
> > Het enige wat ik kan vinden ivm eventhandlers in
> > Delphi, gaan over eventhandlers die via de object inspector gemaakt
> > worden.
>
> Die kun je ook vanuit code koppelen.
>
> > Maar ik kan dan nergens in h��l mijn Unit een regel code vinden die
> > de gecre�erde procedure koppelt aan dat bepaald event.
>
> Nee, deze worden in de .dfm file gekoppeld (alt-f12).
>
> > 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(Sender: TObject);
>      public
>          constructor Create;
>  end;
>
>  constructor foo.Create;
>  begin
>      myTimer.onTimer := myTimerTime;        {<-- problemen}
>      myTimer.Interval := 1000;
>      myTimer.Enabled := True;
>  end;
>
>  procedure foo.myTimerTime(Sender: TObject);
>  begin
>      ShowMessage('de tijd is verstreken');
>  end;
>
>
> M.a.w.: de prototypes voor het event waren niet goed. Bovendien heet het
> event OnTimer en niet OnTime.
>

Allesins al h��l erg bedankt voor deze informatie, ik heb nu ook een
beetje meer info gekregen in de werking van delphi.

Mijn probleem is jammergenoeg nog niet opgelost.
Het probleem is dat mijn unit geen dfm file heeft.
Het betreft hier gewoon een klasse, die in een aparte
unit staat. (zoals een standaard cpp+h file unit in c++)
de bedoeling is dat ik die klasse dan in een ander programma
(volledig met form en al) kan gebruiken.
--> vb'tje in UML:
-------------------------------------------
|                        class foo
                           -------------------------------
|------------------------------------------|
|              class TForm1           |
| - myTimer : TTimer
|-----------------------> |------------------------------|
|------------------------------------------ |
| <klasse met mainform>         |
| - myTimerTime(Sender : TObject) : void
  -------------------------------
| + Create()                                              |
-------------------------------------------

Blijkbaar word het 'object' keyword niet aanvaard in een *.pas file.
ben ik dan verplicht om een dfm file aan te maken en te koppelen aan die
unit?
verwacht die dfm file dan niet dat er een form gedefineerd wordt en zo?
questions questions questions ;-)

grts,
Lorenzo
Technical Details
Message-ID: <dvDOb.1465$mN4.363420781@hestia.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.arcor-online.net!easynews.net!newsfeed3.easynews.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> <100lse5s18me85a@corp.supernews.com>

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 14:10:18 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.arcor-online.net!easynews.net!newsfeed3.easynews.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> <100lse5s18me85a@corp.supernews.com>
Subject: Re: delphi-eventhandlers
Lines: 99
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: <dvDOb.1465$mN4.363420781@hestia.telenet-ops.be>
Date: Sun, 18 Jan 2004 22:10:17 GMT
NNTP-Posting-Host: 213.224.114.234
X-Complaints-To: abuse@telenet.be
X-Trace: hestia.telenet-ops.be 1074463817 213.224.114.234 (Sun, 18 Jan 2004 23:10:17 CET)
NNTP-Posting-Date: Sun, 18 Jan 2004 23:10:17 CET
Organization: Telenet Internet