Page 1 of 1

Cannot Pass a codeblock parameter in dc_guigrumpbrow()

Posted: Mon Feb 11, 2013 12:04 am
by pierredaou
Hello,

Passing a codeblock in dc_guigrumpbrow(), specifically containing alias->field from another workarea yield an error. Is there any missing point in the syntax ?


yielding the following error.



Date : 11/02/2013
Time : 08:48:24
Procedure : DC_GUIGRUMPBROW
Line Number : 976
Information : Error BASE/3
Description : Parameter has a wrong data type
Operation : <
>$<{ | yy | if(yy == NIL, etat->etat, etat->etat := yy) }>
Thread ID : 4
Source :
Called from : (B)INIT: _DCINIT(28)
Called from : DC_GUIGRUMPBROW(976)
Called from : BROWSEIT(1323)
Called from : GETKEY(1274)
Called from : I_NTRMST(1027)
Called from : (B)INITIALISEMENU(60)

Re: Cannot Pass a codeblock parameter in dc_guigrumpbrow()

Posted: Tue Feb 12, 2013 8:37 am
by rdonnay
Can you reproduce this problem in a small test program?

I cannot tell anything from the error log.

For one thing, it doesn't match my source code. It appears that you have modified the source because an error on line 976 doesn't make sense.

Re: Cannot Pass a codeblock parameter in dc_guigrumpbrow()

Posted: Thu Feb 14, 2013 4:38 am
by pierredaou
Hello Roger,

Did anyone tried sending code-blocks throughout dc_guigrumpbrow() or the command line, ie. executing the following :


DCGRUMPBROW TO myBrowForm ;
SECURITY myOptions TOP 8 BOTTOM 20 LEFT 2 RIGHT 77 ;
EXITKEY mExitKeys ;
TITLE 'Anytitle';
FIELDS {'CODE','NAME',{ | x | if(x == NIL, myalias->secname, myalias->secname := x) }}

Re: Cannot Pass a codeblock parameter in dc_guigrumpbrow()

Posted: Thu Feb 14, 2013 1:01 pm
by rdonnay
I don't think that very many eXpress++ users use DC_GuiGrumpBrow(). I wrote that for a customer who was converting a Clipper app that used GrumpBrow. I never should have added it to eXpress++. Instead, I should have included it in the sample programs.