eXpress++ build 258

This forum is for eXpress++ general support.
Post Reply
Message
Author
User avatar
rdonnay
Site Admin
Posts: 4733
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

eXpress++ build 258

#1 Post by rdonnay »

Here are your download instructions for the most
current eXpress++ build 258.

This build is compatible with Xbase++ 1.9 (builds 331 and 355)
and Xbase++ 2.0 (build 437).

ftp://donnay-software.com
user: subscriber
password: SilverOak1999
file: exp19258.exe
Install password: < Send an email to rogerdonnay@donnay-software.com for the password >

If you have trouble with the FTP download try this:
http://donnay-software.com/subscribe/exp19258.exe

---------------- New to 1.9 (build 258) ----------

Code: Select all

 1251. The functions DC_AutoRestoreWindow() and DC_AutoRestoreBrowse() now
       accept a codeblock as the first array parameter.  This codeblock can be
       used to write the window coordinate array to a file rather than the
       registry.  This is a better solution for users who login at different
       workstations.  See the sample programs in \exp19\samples\restorewindow.

 1250. Added new NOSCROLLBARS clause to the DCPRINT ON command.  This will
       cause print preview scrollbars to not be created.

 1249. The mouse wheel now scrolls the print preview window.

 1248. Fixed a very old bug in DC_IniSave().  It didn't restore the setting of
       SET EXACT.

 1247. Added new functions for logging transactions when using DC_DbGather().
       DC_DbGather() writes a record object to a database.  Now this function
       will log all transactions if this feature is enabled.

       DC_DbGatherLog() is used to establish the name, alias and dbe of the
       log file. DC_DbGatherLogBrowse() will browse the log file and display 2
       windows that are used to show the contents of the record before and
       after the write operation.  Look at the sample program in
       \exp19\samples\dbrecord\logging.prg.

 1246. Added support for a code block as the FONT clause of @..DCSAY.  The
       font code block will be evaluated on a DC_GetRefresh() call.

 1245. Fixed a bug in DC_AdsCursor2Array() that caused the first row to be
       skipped and the last row to be duplicated.

 1244. The OBJECTVAR clause of DCBROWSECOL now accepts a code block for
       formatting the data. See the sample in
       \exp19\samples\browse\objects.prg.

 1243. Fixed a regression error in @..DCBROWSE when using TAGENABLE.
       Occasionally an error would occur when pressing the CTRL key for the
       first time.

 1242. Added new function: DC_DbRecordIsEmpty(). This will test a DC_DbRecord()
       object to determine if all fields are empty.

 1241. Added new function: DC_DbRecordClone(). This will create a new
       DC_DbRecord() object from an existing record object.

 1240. Added new RECORD_SCATTTER translate to DCDIALOG.CH.  Use this with the
       WTF command when desiring to look at a snapshot of the current record
       as a record object in the debug window.
       Example: WTF MYDATA->record_scatter.

 1239. Added a new MAX sub-clause to the FIT clause of the @..DCBROWSE
       command. This sets the maximum width of a browse (in pixels) when using
       the FIT clause.

 1238. Added a new function: DC_DimScreen().  This function is used to dim and
       disable a screen or the entire desktop.  Use this function to force the
       user to focus on a new window.  See the sample in samples\dimmer.

 1237. Fixed a bug. The NOSPAWN clause of DCPRINT ACROBAT was not working.

 1236. Fixed a bug with DC_PrintPreviewAcrobatOpt().  Parameter 11 determines
       whether temporary files are deleted.  This parameter was being ignored
       and files were always deleted.

 1235. The functions DC_WaitOn() and DC_GuiAlert() will now center their
       dialogs in their owner.  The owner defaults to SetAppWindow().

 1234. Modified some source files so they will all compile with Xbase++ 1.82.
       Included batch files and project files in source folders to build 1.82
       version of libraries.  Some features will not be available when compiled
       under 1.82, such as XCodeJock, RmChart, DCPUSHBUTTONXP, Instant
       Messenger, and Excel functions.

 1233. Fixed a problem with the REFRESHBLOCK .. WHEN clauses of @ .. DCBROWSE
       being reversed and not working correctly.

 1232. Fixed a regression problem with @ .. DCBROWSE Presentation parameters
       not always properly displaying the highlight color.

 1231. Fixed a problem with DC_HiliteGets() not always restoring the
       background. Thanks to Jack Duijf.

 1230. Fixed a problem in the TAGENABLE feature of @ .. DCBROWSE that caused
       excessive slowness when clicking in the browse while no key is pressed.

 1229. Fixed a runtime error when using the ZEBRA option of @ .. DCBROWSE with
       the FREEZELEFT option.  Also improved performance when using the ZEBRA
       option.

 1228. Fixed a bug in DC_InspectObject().  It was not restoring the error
       handler.

 1227. Fixed a regression bug (started in build 257) that caused the color
       block of DCBROWSE and DCBROWSECOL to not receive the correct parameter.
       PDR 6365 hotfix resolves this problem much better.

 1226. Fixed a regression bug (started in build 255) that caused the dropdown
       in DCGET .. COMBO to disappear if the validation returns a .F.

 1225. Fixed a bug that caused icons and bitmaps that were referenced in the
       BUTTONS option of DCGETOPTIONS to not display on the buttons.

 1224. Fixed a regression bug that caused DC_XbpColumn():configure() to
       sometimes fail.  Problem was in the overloaded DC_XbpColumn():destroy()
       method.

 1223. Fixed a bug that prevented the MERGECHILDREN option of DCTABPAGE from
       working correctly when using DCSETPARENT commands.

 1222. Fixed a regression bug in DCMSGBOX and DC_MsgBox() that did not follow
       the default exit condition when hitting the Escape key.

 1221. Fixed a bug in DC_GetBitmap() that did not allow icons that were in a
       .RES file to display.

 1220. Fixed a bug with DCBROWSE .. FILTER.  The array might not filter
       correctly when using the wheel to scroll the browse.  Thanks to Tom
       Liehr.

 1219. Fixed a regression problem. DCBROWSECOL with multirow data would cause
       a runtime error.

 1218. Fixed a regression problem. DCBROWSECOL headers and footers now align
       properly.

 1217. Fixed a regression problem if a DC* object had no parent - it would
       not be created.

 1216. Fixed a regression problem with painting an icon on a DCPUSHBUTTON.

 1215. Improved DC_AdsStatement() class to properly close the cursor handle.
       Thanks to Jack Duijf.

 1214. Added the following function wrappers to _DCADS.PRG:
       AdsFindClose(), AdsFindFirstTable(), AdsFindNextTable()

 1213. Fixed a regression bug related to a DCSUBMENU that has no parent.  This
       was always allowed in the past so it could be used as a :popup() menu.
       Build 257 would not create the DCSUBMENU object if it had no parent.
       Build 258 corrects this problem.
The eXpress train is coming - and it has more cars.


User avatar
rdonnay
Site Admin
Posts: 4733
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: eXpress++ build 258

#3 Post by rdonnay »

OOPS. I left some debugging in the dcprint engine (_DCPRC.PRG)

Here's an updated file.
Copy it to your \exp19\source\dclipx directory and rebuild dclipx.dll by running build19_sl1.bat
Attachments
_dcprc.zip
(32.81 KiB) Downloaded 666 times
The eXpress train is coming - and it has more cars.

Leon Berger
Posts: 36
Joined: Thu Jan 28, 2010 2:30 pm

Re: eXpress++ build 258

#4 Post by Leon Berger »

Roger,

since build 258 the backgroundcolor of the highlighted row is system default color when using "ZEBRA" and not the colour defined inside the presentation array. Please, can you check this?

Thanks :-)
Leon
Best regards
Leon

User avatar
rdonnay
Site Admin
Posts: 4733
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: eXpress++ build 258

#5 Post by rdonnay »

Please post what presentation parameters you are using so I can compare the screens between 257 and 258.
The eXpress train is coming - and it has more cars.

Leon Berger
Posts: 36
Joined: Thu Jan 28, 2010 2:30 pm

Re: eXpress++ build 258

#6 Post by Leon Berger »

]
rdonnay wrote:Please post what presentation parameters you are using so I can compare the screens between 257 and 258.
V257: foreground: black, background: liteblue
V258: foreground: wihite, background: blue

Code: Select all

m->aBrowPres := ;
      { { XBP_PP_COL_HA_HEIGHT, 10},                         /* Header Height    */  ;
        { XBP_PP_COL_HA_FGCLR, GRA_CLR_BLACK },              /* Header FG Color  */  ;
        { XBP_PP_COL_HA_BGCLR, COLOR_ICEGREEN   },           /* Header BG Color  */  ;
        { XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_DOTTED },   /* Row Sep          */  ;
        { XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_DOTTED },   /* Col Sep          */  ;
        { XBP_PP_COL_DA_HILITEFRAMELAYOUT, XBPFRAME_THICK},  /*                  */  ;
        { XBP_PP_COL_DA_FGCLR, GRA_CLR_DEFAULT },            /* Row FG Color     */  ;
        { XBP_PP_COL_DA_BGCLR, XBPSYSCLR_WINDOW },           /* Row BG Color     */  ;
        { XBP_PP_COL_DA_ROWHEIGHT, 16 },                     /* Row Height       */  ;
        { XBP_PP_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_HILITE_BGCLR, COLOR_LTBLUE              },  /* Hilite BG color  */  ;
        { XBP_PP_COL_FA_FGCLR, COLOR_BLUE  },                /* Footer FG Color  */  ;
        { XBP_PP_COL_FA_BGCLR, XBPSYSCLR_DIALOGBACKGROUND }, /* Footer BG Color  */  ;
        { XBP_PP_COL_FA_HEIGHT, 10 },                        /* Footer Height    */  ;
        { XBP_PP_COL_FA_ALIGNMENT,XBPALIGN_RIGHT}            /* Footer Alignment */  ;
      }                                                        
Best regards
Leon

User avatar
rdonnay
Site Admin
Posts: 4733
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: eXpress++ build 258

#7 Post by rdonnay »

Below is my test program.
I get the same visual look with both build 257 and 258.

Please modify this code so it will show something different between 257 and 258.

Code: Select all

#INCLUDE "dcdialog.CH"

FUNCTION Main()

LOCAL aBrowPres, GetList[0], oBrowse, aDir
LOCAL aEvenRowColor := {GRA_CLR_BLACK,GraMakeRGBColor({255,255,170})}
LOCAL aOddRowColor := {GRA_CLR_BLACK,GraMakeRGBColor({159,231,176})}

aDir := Directory()

aBrowPres := ;
      { { XBP_PP_COL_HA_HEIGHT, 10},                         /* Header Height    */  ;
        { XBP_PP_COL_HA_FGCLR, GRA_CLR_BLACK },              /* Header FG Color  */  ;
        { XBP_PP_COL_HA_BGCLR, GRA_CLR_GREEN   },            /* Header BG Color  */  ;
        { XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_DOTTED },   /* Row Sep          */  ;
        { XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_DOTTED },   /* Col Sep          */  ;
        { XBP_PP_COL_DA_HILITEFRAMELAYOUT, XBPFRAME_THICK},  /*                  */  ;
        { XBP_PP_COL_DA_FGCLR, GRA_CLR_DEFAULT },            /* Row FG Color     */  ;
        { XBP_PP_COL_DA_BGCLR, XBPSYSCLR_WINDOW },           /* Row BG Color     */  ;
        { XBP_PP_COL_DA_ROWHEIGHT, 16 },                     /* Row Height       */  ;
        { XBP_PP_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_HILITE_BGCLR, GRA_CLR_BLUE              },  /* Hilite BG color  */  ;
        { XBP_PP_COL_FA_FGCLR, GRA_CLR_DARKBLUE  },          /* Footer FG Color  */  ;
        { XBP_PP_COL_FA_BGCLR, XBPSYSCLR_DIALOGBACKGROUND }, /* Footer BG Color  */  ;
        { XBP_PP_COL_FA_HEIGHT, 10 },                        /* Footer Height    */  ;
        { XBP_PP_COL_FA_ALIGNMENT,XBPALIGN_RIGHT}            /* Footer Alignment */  ;
      }

@ 0,0 DCBROWSE oBrowse DATA aDir SIZE 20,20 FIT ;
      PRESENTATION aBrowPres ;
      ZEBRA aOddRowColor, aEvenRowColor

DCBROWSECOL ELEMENT 1 HEADER 'File Name' PARENT oBrowse WIDTH 10

DCBROWSECOL ELEMENT 2 HEADER 'File Date' PARENT oBrowse WIDTH 10

DCREAD GUI FIT TITLE 'Presentation Test'

RETURN nil


PROC appsys ; return
The eXpress train is coming - and it has more cars.

Leon Berger
Posts: 36
Joined: Thu Jan 28, 2010 2:30 pm

Re: eXpress++ build 258

#8 Post by Leon Berger »

If you change the background color to another color (example GRA_CLR_RED), with build 257 you get red, with build 258 you get blue.

rdonnay wrote:Below is my test program.
I get the same visual look with both build 257 and 258.

Please modify this code so it will show something different between 257 and 258.

Code: Select all

#INCLUDE "dcdialog.CH"

FUNCTION Main()

LOCAL aBrowPres, GetList[0], oBrowse, aDir
LOCAL aEvenRowColor := {GRA_CLR_BLACK,GraMakeRGBColor({255,255,170})}
LOCAL aOddRowColor := {GRA_CLR_BLACK,GraMakeRGBColor({159,231,176})}

aDir := Directory()

aBrowPres := ;
      { { XBP_PP_COL_HA_HEIGHT, 10},                         /* Header Height    */  ;
        { XBP_PP_COL_HA_FGCLR, GRA_CLR_BLACK },              /* Header FG Color  */  ;
        { XBP_PP_COL_HA_BGCLR, GRA_CLR_GREEN   },            /* Header BG Color  */  ;
        { XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_DOTTED },   /* Row Sep          */  ;
        { XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_DOTTED },   /* Col Sep          */  ;
        { XBP_PP_COL_DA_HILITEFRAMELAYOUT, XBPFRAME_THICK},  /*                  */  ;
        { XBP_PP_COL_DA_FGCLR, GRA_CLR_DEFAULT },            /* Row FG Color     */  ;
        { XBP_PP_COL_DA_BGCLR, XBPSYSCLR_WINDOW },           /* Row BG Color     */  ;
        { XBP_PP_COL_DA_ROWHEIGHT, 16 },                     /* Row Height       */  ;
        { XBP_PP_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_HILITE_BGCLR, GRA_CLR_RED              },  /* Hilite BG color  */  ;  /////// !!!Modification!!!
        { XBP_PP_COL_FA_FGCLR, GRA_CLR_DARKBLUE  },          /* Footer FG Color  */  ;
        { XBP_PP_COL_FA_BGCLR, XBPSYSCLR_DIALOGBACKGROUND }, /* Footer BG Color  */  ;
        { XBP_PP_COL_FA_HEIGHT, 10 },                        /* Footer Height    */  ;
        { XBP_PP_COL_FA_ALIGNMENT,XBPALIGN_RIGHT}            /* Footer Alignment */  ;
      }

@ 0,0 DCBROWSE oBrowse DATA aDir SIZE 20,20 FIT ;
      PRESENTATION aBrowPres ;
      ZEBRA aOddRowColor, aEvenRowColor

DCBROWSECOL ELEMENT 1 HEADER 'File Name' PARENT oBrowse WIDTH 10

DCBROWSECOL ELEMENT 2 HEADER 'File Date' PARENT oBrowse WIDTH 10

DCREAD GUI FIT TITLE 'Presentation Test'

RETURN nil


PROC appsys ; return
Best regards
Leon

User avatar
rdonnay
Site Admin
Posts: 4733
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: eXpress++ build 258

#9 Post by rdonnay »

Alaska's Browse presentation parameters has always been a nightmare due to the redundancy and ambiguity.

This will work correctly with all versions of eXpress++

IS:

Code: Select all

        { XBP_PP_COL_DA_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_COL_DA_HILITE_BGCLR, GRA_CLR_RED },                /* Hilite BG color  */  ;
WAS:

Code: Select all

        { XBP_PP_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_HILITE_BGCLR, GRA_CLR_RED },                /* Hilite BG color  */  ;
The eXpress train is coming - and it has more cars.

Leon Berger
Posts: 36
Joined: Thu Jan 28, 2010 2:30 pm

Re: eXpress++ build 258

#10 Post by Leon Berger »

Perfect :-) Thank you Roger!
Leon

rdonnay wrote:Alaska's Browse presentation parameters has always been a nightmare due to the redundancy and ambiguity.

This will work correctly with all versions of eXpress++

IS:

Code: Select all

        { XBP_PP_COL_DA_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_COL_DA_HILITE_BGCLR, GRA_CLR_RED },                /* Hilite BG color  */  ;
WAS:

Code: Select all

        { XBP_PP_HILITE_FGCLR, XBPSYSCLR_HILITEFOREGROUND},  /* Hilite FG color  */  ;
        { XBP_PP_HILITE_BGCLR, GRA_CLR_RED },                /* Hilite BG color  */  ;
Best regards
Leon

Post Reply