/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Ny begynder i components...
Fra : Ulrik Vadstrup


Dato : 05-02-01 17:03

Jeg er begyndt og snuse lidt til at lave mine egne komponenter, og er da
også nået et stykke af vejen - nu er det så det hænger lidt.

Er der en der gider sådan på forståligt dansk (Hjælpen er nemlig lidt
uforstålig på det punkt i D4) hvordan og hvad tanken er bag events, og
eksempelvis give et eks. på et par stykker.

Med venlig hilsen

Ulrik Vadstrup



 
 
Niels (niLLer) (05-02-2001)
Kommentar
Fra : Niels (niLLer)


Dato : 05-02-01 23:18

Just as I expected, "Ulrik Vadstrup" <vadstrup@post12.tele.dk> came up
with this:

>Er der en der gider sådan på forståligt dansk (Hjælpen er nemlig lidt
>uforstålig på det punkt i D4) hvordan og hvad tanken er bag events, og
>eksempelvis give et eks. på et par stykker.

"Event" betyder jo hændelse, som du nok allerede ved! En event kan så
være mange ting, f.eks. Click eventen for en TButton. Den bliver kaldt
når knappen modtager en WM_CLICK message fra Windows. Et andet
eksempel kunne være TServerSocket komponenten fra Delphi 4. Når der er
en klient der opretter en forbindelse til serveren så bliver der fyret
en event af. En event kan også bare blive fyret af når f.eks. en
property bliver ændret. Her er et lille eksempel:

- - - start kode

type
TIntChangeEvent = procedure(Sender: TObject; Value: integer);
TIntWithEvent = class(TObject) // events er jo ikke specifikke
private // for komponenter!
FOnValChange: TIntChangeEvent
FVal: integer;
procedure SetVal(Value: integer);
public
property Val: integer
read FVal;
write SetVal;
property OnValChange: TIntChangeEvent
read FOnValChange
write FOnValChange;
end;

procedure TIntWithEvent.SetVal(Value: integer);
begin
if FVal <> Value then
begin
FVal := Value;
if Assigned(FOnValChange) then
FOnValChange(Self, Value);
end;
end;

- - - slut kode

Det er så en klasse der holder en integer-værdi og har en event der
bliver fyret af når man ændrer værdien! Jeg kan ikke lige komme på et
eksempel nu, men der *er* tilfælde hvor sådan en klasse kunne være
brugbar. Det er bare meget sjældent!

Niels (aka. niLLer)
--
e-mail: nmartin at iname dot com ICQ UIN: 50187323
http://www.niller.f2s.com/ - niLLer's pages (My programs, in English)
http://whitehat.dk/g4s/ - The G4S Page (Personlig side, på dansk)
-- No longer Windozed!

Thomas Due (06-02-2001)
Kommentar
Fra : Thomas Due


Dato : 06-02-01 08:37

[SNIP]

> Det er så en klasse der holder en integer-værdi og har en event der
> bliver fyret af når man ændrer værdien! Jeg kan ikke lige komme på et
> eksempel nu, men der *er* tilfælde hvor sådan en klasse kunne være
> brugbar. Det er bare meget sjældent!

Opdatér en data fil med den nye værdi?

Mvh
Thomas



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste