I have a proposed "solution" for the LZX programmer having to create delegates 
in script in:

  http://jira.openlaszlo.org/jira/browse/LPP-7816

Basically, I want you to be able to declare a handler without attaching it to 
an event at declaration time (and you would later use script to register the 
handler on the event it is to handle).  The main purpose for this change is 
that <handler /> will automatically be managed, whereas delegates must be 
manually managed (and destroyed) or they can lead to memory leaks.

On 2009-12-18, at 16:03, jamesr wrote:

> for the record, the two use cases for making a delegate are
> 
> 1)  you want to compute what object to latch onto programmatically and
> 2) you want to latch onto something that is not yet created at the handler 
> init phase.
> 
> don't see any other use, although the two above are obviously important
> 
> cem sonmez wrote:
>> you are exactly right. I want to make some operations when the netconnection 
>> successful event is fired. Actually i m trying to get the shared object on 
>> the server side, so at first i need a netconnection instance to do that. 
>> ThatS why i thought that i should try delegates. I havenT used delegates 
>> before, but i thought that this is the just one solution to handle the 
>> operations depend on the related event.
>> 
>> The method you said, using an attribute in the connection class seems the 
>> better way. Till now, i havenT needed the delegates. I hope using connection 
>> status attribute in the connection class will fix the problem.
>> 
>> I m going to post back the results here of course.
>> Thanks for the reply J
>> 
>> 2009/12/18 jamesr <[email protected] <mailto:[email protected]>>
>> 
>>    I can tackle it. let's see; i'd write the following, after an
>>    introduction (all code is untested and represents a pattern, adapt
>>    it as you will)
>> 
>>    Your problem: You want to do is send a "connection successful"
>>    event that you can catch, signaling that a method is to be called
>>    to continue using the connection.  You seem to be trying to do it
>>    by setting up the delegate manually, when i think, looking at your
>>    code, that you have hooks to fire events on laszlo nodes that can
>>    communicate this state change.
>> 
>>    Solution: An event is anytime you use x.setAttribute() by the way
>>    - that's what it does, makes sure that handlers are fired. That
>>    said, if you declare an attribute of any laszlo node and in your
>>    code, when you have success on your net connection, you say
>>    "somenode.setAttribute('success, true);" then in another node you
>>    can say, <handler name="onfoo" reference="somenode">...</handler>
>>    and in that code you can then do what ever other steps are
>>    required to use the connection.
>> 
>>    Further thought if i'm wrong: can you say why it is you decided to
>>    use manual delegates? it might make things clearer for me, i've
>>    not used the net connection code you have there but make guesses.
>> 
>>    .j.
>>    cem sonmez wrote:
>> 
>>        doesnT anyone have any idea. I got stuck here. Waiting for
>>        someones advices.
>>        Thanks
>> 
>>        2009/12/18 cem sonmez <[email protected]
>>        <mailto:[email protected]> <mailto:[email protected]
>>        <mailto:[email protected]>>>
>> 
>> 
>>           hi
>>           when i try do use the delegate such like :
>> 
>>           if( typeof this.del == "undefined" )  {
>>                    this.del = new LzDelegate(this, "connect('chat', conn,
>>           true)" );
>>                    }                   this.del.register(conn,
>>           "netStatusHandler('NetConnection.Connect.Success')" );
>>           }
>> 
>>           I m getting the error on the debug like :
>> 
>>           *soChat.connect('chat', conn, true) => (void 0) (must be a
>>        function)*
>> 
>>           Actually i want to do this :  call the *connect* method on the
>>           class when the netStatusHandler method of the *conn* object has
>>           been completed. I m not sure that am i using the delegate
>>           correctly (as i m getting the error, of course not :)).
>> 
>>           I have attached the relevant files.
>>           Can anyone help me what i m missing to do.
>> 
>>           Kind regards.
>> 
>>           --    Cem SONMEZ
>> 
>> 
>> 
>> 
>>        --         Cem SONMEZ
>> 
>> 
>> 
>> 
>> -- 
>> Cem SONMEZ


Reply via email to