Hi Dave,

This is definitely the right list.

On Sun, Feb 27, 2011 at 3:12 PM, Dave Dawson
<[email protected]> wrote:

> I installed the switch program and tried a program I’m developing which
> makes heavy use of oodialog.
>
> It failed immediately with …
>
> “Command message connections have exceeded the maximum number of allocated
> table entries. No more command message connections can be added”

There is, and has always been, a limit on the number of message table
entries.  The message table holds the connections between the dialog
control events and the methods in the Rexx dialog object that handles
the events.

The limit is 500, and still is.  But, in 4.1.0 there was just one
large message table.  In 4.2.0, to optimize the table search somewhat,
I divided the table into 3 tables.  One for command events (which
buttons generate,) one for notify events (which other controls like
list-views, tree-views, edit controls, etc., generate,) and one for
other miscellaneous messages.

I tried to divide the size up as I thought would be good.  But, the
limit is 200 for command messages, 200 for notify messages, and 100
for miscellaneous message.  If you have 400 buttons, you would pass
the limit of 200 for command messages.  While in 4.1.0, 400 buttons
would be below the over all limit of 500 total.

The limit is 500 *per* dialog.  Really, people don't design dialogs
with over 200 buttons in them.  You might want to rethink your design.
 <grin>

I'll have to think about how to fix this.  But, could you go ahead and
open a bug so I don't forget about it.

https://sourceforge.net/tracker/?atid=684730&group_id=119701&func=browse


> My program does create a lot of buttons and the initial createcenter
> therefore specifies the “expected” parm as 1000 (but probably creates less
> than 400 controls).

The "expected" parm controls the amount of memory for the dialog
template, but has no effect on the size of the message table.

> If I reduce the number of controls my program starts ok (with a few valid
> errors from the movecontrol method) but then continually flashes at me as if
> the onresize method is being constantly called. I’ll play some more to
> investigate this.

I'm not sure what this is, I'll need more to go on.

> Some good news – it looks like I’m getting some valid error messages I
> wasn’t getting from 4.1.0.

That is one of my goals, to give people a better idea what is wrong.
Previously ooDialog simply ignored errors.  But then things don't
work, and the programmer has no idea why.

> I was having all sorts of issues detecting the size of the window and then
> correctly placing and resizing buttons, and was starting to be convinced
> that ooREXX had some issues here. In 4.2.0 it looks like this may have been
> fixed. Again I need to have a good look tomorrow.

ooDialog is / was broken in this area.  Please read section 2.2.8 on
factorX / factorY and section 2.3.6 on dialog units. for a little
background on why things are broken.

Any method that makes use of factorX and factorY will not be correct
in sizing or positioning dialog controls.  In addition, methods that
try to use dialog units instead of pixels after the underlying dialog
is created will have errors.  In 4.2.0 there are replacement methods
that use pixels.  You can not correctly place or resize buttons unless
you work in pixels.

For a start, look at the new methods:  moveTo(), resizeTo(),
getRealSize(), and getRealPos().

Please let me know more about the "continually flashes at me as if the
onresize method is being constantly called" problem you are having.

Thanks for providing some feed back also.

--
Mark Miesfeld

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Oorexx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-users

Reply via email to