hehehe
I went from Delphi 1 to Delphi 5.

Actually, from Turbo Pascal 3.01a to Delphi 5 and all its patches.
(So, 3.01a really dates me for the oldtimers.)

I still think nothing can beat Delphi for programming a good GUI
faaaasssssttttt!!! But then, I am on the server side now.


Have fun,
Paulo

> -----Original Message-----
> From: Scott Sanders [mailto:[EMAIL PROTECTED]]
> Sent: Saturday, January 12, 2002 1:59 AM
> To: Avalon Developers List
> Subject: RE: Divergence from Avalon (was Re: [RT] Is Poolable Harmful?)
>
>
> An old Delphi hacker from way back.  That is the general way that it
> works, as I can also atest.
>
> Scott
>
> > -----Original Message-----
> > From: Paulo Gaspar [mailto:[EMAIL PROTECTED]]
> > Sent: Friday, January 11, 2002 5:14 PM
> > To: Avalon Developers List
> > Subject: RE: Divergence from Avalon (was Re: [RT] Is Poolable
> > Harmful?)
> >
> >
> > Hi again,
> >
> > > -----Original Message-----
> > > From: Peter Donald [mailto:[EMAIL PROTECTED]]
> > > Sent: Friday, January 11, 2002 11:20 PM
> > >
> > >
> > > On Sat, 12 Jan 2002 07:48, Paulo Gaspar wrote:
> > > > Why does putting a String and a Context instead of an Object
> > > > transmit more knowledge.
> > >
> > > Because the string is meant to indicate a Role which in
> > turn specifies
> > > an
> > > interface.
> >
> > Yes, that bit is all over Avalon.
> >
> > But the String does not make it SAFER. You have to put the
> > right thing there. It is not safer than using an Object. It
> > is not like using an enumerated type.
> >
> > It is funny how Delphi has something that would make the role and the
> > lookup for a rule type safe. Lets see if I still remember...
> > I think a lot of syntax is going to be wrong but is something
> > like this:
> >
> > type  // type declaration section
> >
> >   TRole = interface(...)
> >    ...
> >   end;
> >
> >   RoleType = type of TRole;  // The interesting construct
> >
> >   TMyRole = interface(TRole) // extends TRole
> >    ...
> >   end;
> >
> > And now you could declare lookup() like this:
> >
> >   function Object lookup(role: RoleType);
> >
> > And it will only accept as parameter types that extend Role, like in
> >
> >   c := cm.lookup(MyRole);
> >
> >
> > I miss this one. Sorry if there are syntax errors everywhere but I
> > think you will understand the meaning.
> >
> > Actually, I am not 100% sure this works with interfaces but I
> > sure used it with classes.
> >
> >
> >
> > > > It is all in what you do with it.
> > > >
> > > > I could call lookup like this:
> > > >   c = cm.lookup("$#@))(sdjhfkjh");
> > >
> > > This would violate Avalons design as "$#@))(sdjhfkjh" is
> > not a valid
> > > role
> > > name. All CMs would through a ComponentException (or should).
> > >
> > > The string passed in tends to look like
> > >
> > > com.biz.MyInterface
> > >
> > > or optionally
> > >
> > > com.biz.MyInterface/SOmeOtherMagicValueAtEndAfterSlash
> >
> > Sure, I was talking about type safety.
> >
> > You can pass just the same value if lookup has a Object
> > parameter instead of a String parameter. And type safety goes
> > not very far in this case because you always have to defend
> > yourself with constants and so to be sure you pass a valid value.
> >
> >
> > > > I like very much this structure.
> > >
> > > Its almost there already - except we use different names for it.
> > > Context ==
> > > what you call CM and CM is what you called ServiceManager.
> > >
> > > The only missing thing is Context passed into
> > ServiceManager where now
> > > we
> > > require it to be serialized to a string and tacked ont to end of
> > > Role string
> >
> > Why?
> >
> > A Context does not allow me to get a SingleThreaded component
> > and then release it. Even from an interface POV something is missing.
> >
> > Why do you insist my CM is a Context?
> >
> >
> > > --
> > > Cheers,
> > >
> > > Pete
> > >
> > > ----------------------------------------
> > > "Liberty means responsibility. That is
> > >       why most men dread it." - Locke
> > > ----------------------------------------
> >
> > Oh! A classical one.
> >
> >
> > Have fun,
> > Paulo Gaspar
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <mailto:avalon-dev-> [EMAIL PROTECTED]>
> > For
> > additional commands,
> > e-mail: <mailto:[EMAIL PROTECTED]>
> >
> >
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to