thanks for the suggestion, i havenT thought bec. of tackling the problem :)
you are right, this is an important point for the design of the application.
i should pay attention this.

>
> 2009/12/19 jamesr <[email protected]>
>
> Commenting on handlers, i like the way laszlo allows you to pull out api
>> from base-class, by way of handlers. it's a very graceful way to set up
>> state throughout the application and i always declare states first when
>> defining a class i.e. it's not "connectionOK" it's "connected", which is a
>> word with a yes/no connotation. If you look at these verb attributes as
>> states a node can be in and you have other objects that all listen to those
>> single nodes, you can solve a lot of UI problems by factoring all the states
>> out from what-happens-when-state-changes, All UI's can be described that
>> way.
>>
>> Think verbs (selected, clicked, completed, finished, connected, moved,
>> moving, clicking, completing, finishing, etc) and you'll have a good design.
>> YMMV :)
>>
>> cem sonmez wrote:
>>
>>> @P T Withington : I looked at your your solution for creating delegates.
>>> When i need to use the delegates, i m going to use the way that you
>>> mentioned. While looking at the developer documentation of openlaszlo, I
>>> hadnT understand the meaning of delegates and the usage of it. it seemed to
>>> me a bit confused :) Now, i think know more about delegates than before,
>>> thanks
>>>
>>> @jamesr : also thank you for the information. I worked out the problem. I
>>> used an attrbiute in the connection.lzx
>>>
>>> <attribute name="connectionOK" value="false" type="boolean"/>
>>>
>>> and in the case of "NetConnection.Connect.Success", i set it to true.
>>> Then while creating an object of sharedObject, i used like that :
>>>
>>> <sharedObjectChat id="soChat">
>>>            <handler name="onconnectionOK" reference="conn">
>>>                Debug.info("connectionOK attribute operation, value
>>> :%w",conn.connectionOK);
>>>                if (conn.connectionOK==true) {
>>>                    //this.setAttribute("createSharedObject",true);
>>>                    this.connect("chat", conn._conn, true);
>>>                    this.so.client=this;
>>>                }
>>>            </handler>
>>> </sharedObjectChat>
>>>
>>> So itS ok now. İt is impossible to learn something wihout making mistakes
>>> :)
>>>
>>> Best regards.
>>>
>>> 2009/12/18 P T Withington <[email protected] <mailto:[email protected]>>
>>>
>>>
>>>    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]> <mailto:[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]>> <mailto:[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
>>>
>>>
>>>
>>>
>>> --
>>> Cem SONMEZ
>>>
>>
>
>
> --
> Cem SONMEZ
>



-- 
Cem SONMEZ

Reply via email to