Page 2 of 3

Re: Bug in TDialog title

PostPosted: Sat Feb 15, 2014 10:17 pm
by cnavarro
Enrico
Creo que no he entendido bien tu problema:
A.- Quieres un caption con mas de 140 caracteres
B.- Controlar que el caption no tengas mas de 140 caracteres
Yo habia entendido la opcion B
Tengo un gran problema con el idioma ingles

Enrico
I think I misunderstood your problem:
A. - You want a caption with more than 140 characters
B. - Check that the caption does not have more than 140 characters
I had understood the option B
I have a big problem with the English language

Re: Bug in TDialog title

PostPosted: Sat Feb 15, 2014 10:59 pm
by Enrico Maria Giordano
Cristobal,

cnavarro wrote:Enrico
I think I misunderstood your problem:
A. - You want a caption with more than 140 characters
B. - Check that the caption does not have more than 140 characters


No, the problem is that there is no such limit in the size of a dialog title (Windows API docs don't mention any limits). The current limit is only the result of a bug in cDlg2Chr() function. At least this is what I understood.

Is it more clear now? :-)

EMG

Re: Bug in TDialog title

PostPosted: Sun Feb 16, 2014 12:05 am
by cnavarro
Si, ahora me ha quedado muy muy claro
Gracias

Yes, it has now become very clear to me
thanks

Re: Bug in TDialog title

PostPosted: Sun Feb 16, 2014 1:55 pm
by Daniel Garcia-Gil
Enrico

try with

wLen += ( iLenUnicode * 2 ) + 1;

Re: Bug in TDialog title

PostPosted: Sun Feb 16, 2014 2:14 pm
by Enrico Maria Giordano
Daniel,

Daniel Garcia-Gil wrote:Enrico

try with

wLen += ( iLenUnicode * 2 ) + 1;


I now get:

hb_xrealloc can't reallocate memory

:-(

EMG

Re: Bug in TDialog title

PostPosted: Sun Feb 16, 2014 3:02 pm
by Daniel Garcia-Gil
what C compiler are you using?

Re: Bug in TDialog title

PostPosted: Sun Feb 16, 2014 3:19 pm
by Enrico Maria Giordano
Daniel,

Daniel Garcia-Gil wrote:what C compiler are you using?


BCC582

EMG

Re: Bug in TDialog title

PostPosted: Sun Feb 16, 2014 3:35 pm
by Enrico Maria Giordano
Daniel,

Daniel Garcia-Gil wrote:Enrico

try with

wLen += ( iLenUnicode * 2 ) + 1;


With

Code: Select all  Expand view
wLen += iLenUnicode;


it seems to work fine. What is your opinion about this possible fix?

EMG

Re: Bug in TDialog title

PostPosted: Mon Feb 17, 2014 10:07 am
by Daniel Garcia-Gil
Enrico Maria Giordano wrote:CODE: SELECT ALL  EXPAND VIEW
wLen += iLenUnicode;


it seems to work fine. What is your opinion about this possible fix?


if work is fine ;-)

Re: Bug in TDialog title

PostPosted: Mon Feb 17, 2014 10:56 am
by Enrico Maria Giordano
Daniel,

Daniel Garcia-Gil wrote:
Enrico Maria Giordano wrote:CODE: SELECT ALL  EXPAND VIEW
wLen += iLenUnicode;


it seems to work fine. What is your opinion about this possible fix?


if work is fine ;-)


The problem is that I don't understand the code of cDlg2Chr() function very well so I found that "fix" with trial and error. :-)

EMG

Re: Bug in TDialog title

PostPosted: Mon Feb 17, 2014 10:24 pm
by Daniel Garcia-Gil
Enrico

we are filling a DLGTEMPLATE structure, is used like argument in the function CreateDialogIndirect...

check DLGTEMPLATE structure remark section
In a standard template for a dialog box, the DLGTEMPLATE structure is always immediately followed by three variable-length arrays that specify the menu, class, and title for the dialog box. When the DS_SETFONT style is specified, these arrays are also followed by a 16-bit value specifying point size and another variable-length array specifying a typeface name. Each array consists of one or more 16-bit elements. The menu, class, title, and font arrays must be aligned on WORD boundaries.
...
Following the class array is a title array that specifies a null-terminated Unicode string that contains the title of the dialog box. If the first element of this array is 0x0000, the dialog box has no title and the array has no other elements.
...

Re: Bug in TDialog title

PostPosted: Mon Feb 17, 2014 10:40 pm
by Enrico Maria Giordano
Daniel,

So what? Are you trying to say that my "fix" can be correct? :-)

EMG

Re: Bug in TDialog title

PostPosted: Tue Feb 18, 2014 12:51 am
by Daniel Garcia-Gil
Enrico Maria Giordano wrote:Daniel,

So what? Are you trying to say that my "fix" can be correct? :-)

EMG


no i'm trying explain you...

Enrico Maria Giordano wrote:The problem is that I don't understand the code of cDlg2Chr() function very well so I found that "fix" with trial and error.

Re: Bug in TDialog title

PostPosted: Tue Feb 18, 2014 9:53 am
by Enrico Maria Giordano
Daniel,

Daniel Garcia-Gil wrote:no i'm trying explain you...


Ok. :-)

At the moment, I'm convinced that iLenUnicode doesn't have to double (*2) but I would hear your opinion.

EMG

Re: Bug in TDialog title

PostPosted: Tue Feb 25, 2014 9:33 am
by Enrico Maria Giordano
I'm testing my fix and found no problem so far. The fix is:

replace

Code: Select all  Expand view
wLen += ( iLenUnicode * 2 );


with

Code: Select all  Expand view
wLen += iLenUnicode;


in dlg2chr.c.

EMG