/ 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
Brug af "Class of" TSomeClass
Fra : Jan Pe\"d\"ersen


Dato : 04-01-01 17:38

Hej.

Er der een som med en rimelig god begrundelse el. kode
kan redegøre for en effektiv/nyttig brug af class of..
Jeg kender udmærket virkemåden, men savner nogle effektive
eksempler på brugen.

-Jan



 
 
Carsten (05-01-2001)
Kommentar
Fra : Carsten


Dato : 05-01-01 17:34

I min web server har jeg nogle TResponseWriter nedarvninger, som kan finde
ud af at give response på hver sin måde. En TISAPIWriter klarer f.eks. ISAPI
kald, en TStaticFileWriter klarer html/gif filer og en TScriptWriter klarer
(Win)CGI scripts. Hver af disse klasser registrerer sig selv overfor
webserveren (en TRequestReader klasse), så den ved hvilken en Writer den
skal kalde hvornår. Lige nu foregår det baseret på den file-extension som
brugeren ønsker. Er det en html/gif extension så er det TStaticFileWriter'en
osv.
På den måde undgår jeg, at TRequestReader'en *skal* kende alle
Writer-classes på compile-time. Alternativet til nedenstående pseudo-kode
var jo at lave en kæmpe case(Extension) of.

Pseudo-kode (kan absolut ikke compileres):

Type
TWriterClass = Class of TResponseWriter;

TRequestReader.RegisterWriter(Extension : String; CallMe : TWriterClass);
begin
CallWhenWriter[Extension] := CallMe;
end;

TRequestReader.IncommingCall(...)
var
Writer : TWriterClass;
begin
FindExtensionFromRequest(...);
Writer := FindWriterFromExtension(...);
with Writer.Create(....) do Resume;
end;

Hilsen

Carsten
http://www.blueface.com


Jan Pe"d"ersen <jan@with_a_d.dk> wrote in message
news:9E156.5222$%c2.149405@news010.worldonline.dk...
> Hej.
>
> Er der een som med en rimelig god begrundelse el. kode
> kan redegøre for en effektiv/nyttig brug af class of..
> Jeg kender udmærket virkemåden, men savner nogle effektive
> eksempler på brugen.
>
> -Jan
>
>



Jan Pe\"d\"ersen (05-01-2001)
Kommentar
Fra : Jan Pe\"d\"ersen


Dato : 05-01-01 21:35

Hej Carsten.

Udmærket eksempel, tak.

-Jan

"Carsten" <carjak@wanadoo.dk> skrev i en meddelelse
news:Utp56.13$xq4.13795376@news.mobilixnet.dk...
> I min web server har jeg nogle TResponseWriter nedarvninger, som kan finde
> ud af at give response på hver sin måde. En TISAPIWriter klarer f.eks.
ISAPI
> kald, en TStaticFileWriter klarer html/gif filer og en TScriptWriter
klarer
> (Win)CGI scripts. Hver af disse klasser registrerer sig selv overfor
> webserveren (en TRequestReader klasse), så den ved hvilken en Writer den
> skal kalde hvornår. Lige nu foregår det baseret på den file-extension som
> brugeren ønsker. Er det en html/gif extension så er det
TStaticFileWriter'en
> osv.
> På den måde undgår jeg, at TRequestReader'en *skal* kende alle
> Writer-classes på compile-time. Alternativet til nedenstående pseudo-kode
> var jo at lave en kæmpe case(Extension) of.
>
> Pseudo-kode (kan absolut ikke compileres):
>
> Type
> TWriterClass = Class of TResponseWriter;
>
> TRequestReader.RegisterWriter(Extension : String; CallMe : TWriterClass);
> begin
> CallWhenWriter[Extension] := CallMe;
> end;
>
> TRequestReader.IncommingCall(...)
> var
> Writer : TWriterClass;
> begin
> FindExtensionFromRequest(...);
> Writer := FindWriterFromExtension(...);
> with Writer.Create(....) do Resume;
> end;
>
> Hilsen
>
> Carsten
> http://www.blueface.com
>
>
> Jan Pe"d"ersen <jan@with_a_d.dk> wrote in message
> news:9E156.5222$%c2.149405@news010.worldonline.dk...
> > Hej.
> >
> > Er der een som med en rimelig god begrundelse el. kode
> > kan redegøre for en effektiv/nyttig brug af class of..
> > Jeg kender udmærket virkemåden, men savner nogle effektive
> > eksempler på brugen.
> >
> > -Jan
> >
> >
>
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste