eXpress++ build 257

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

eXpress++ build 257

#1 Post by rdonnay »

eXpress++ build 257 is released.

It has been 1 year and 4 months since I have asked for eXpress++ subscribers to renew your subscription. If your subscription is expired, please visit our ordering page at https://donnay-software.com/order.htm. Subscribers with up-to-date subscriptions will receive download instructions via email.

Please consider joining us at the Xbase++ U.S. Devcon in Phoenix, AZ in October, 2012.

---------------- New to 1.9 (build 257) ----------

1212. Added a new sample program: Outlookbar. This emulates the Microsoft
Outlook 2007 task bar.

1211. Removed the call to DC_GetRefresh() when using the SPACE bar to toggle
a DCCHECKBOX. This improves performance on systems with a large
GetList. If this is needed put it in the ACTION code block.

1210. Fixed a bug in DCMSGBOX and DC_MsgBox() when painting buttons
horizontally. They are now positioned properly. Also, text is
managed much better with proper sizing of buttons and window, thanks to
Cliff Wiernik.

1209. Fixed a bug. DC_DotActive() now properly returns a .F. if the dot-prompt
window has been closed.

1208. Added a new option to the BUTTONS clause of DCGETOPTIONS. The
<aButtons> array now allows for the additional optional parameter:

Element Type Description
------- ----- -------------------------------------------
12 B Menu Action Code Block

1207. Added a new debugging command: WTLO. This is used to write out the
values of the iVars of an object to the debug file DEBUG.LOG.
Example: WTLO AppDeskTop()

1206. Added a new IIF command to be used as a replacement for IIF() in code
blocks that have complicated nested IIF() calls. Look at the sample
program in the \exp19\samples\IIF folder.

1205. Added a new optional MERGECHILDREN clause to the @..DCTABPAGE command.
This option is used to improve performance when creating dialogs that
have tabpages with many child objects. Tabpages that use this option
will not create the child objects until the tabpage receives focus the
first time. See the sample TABMERGE.PRG program in the
\exp19\samples\tabpage folder.

1204. Added support for SPSQL to @..DCBROWSE. Thanks to Miguel - Silex.

1203. DC_XbpBrowse():moveColumn() now properly restores the visualStyle,
drawMode and cargo of the headers, footers and dataArea after a column
is moved.

1202. Fixed a problem with the tooltip and accelkey not working when part of
a button array assigned with DCGETOPTIONS .. BUTTONS.

1201. Added a new sample program: ShortCuts. This is a class that is very
easy to implement in any existing eXpress++ that has a large menu
system. It allows for users to create their own desktop shortcuts or
toolbar shortcuts from any item or sub-menu in the main menu. See the
sample in .\samples\ShortCuts.

1200. Fixed a long-time problem with DCBROWSE objects that employ the
DC_BrowseAutoRestore() feature. If a new column is added to the browse
in the code, the user will now receive a message that the user's browse
configuration could not be restored, rather than showing a corrupted
display. A new DC_XbpBrowse() :configMessageBlock iVar can be used to
display a custom message.

1199. Added new sample: GetBrowse. This shows how to connect a browse to a
DCGET as a better replacement for DCCOMBOBOX. Look at the sample in
the \exp19\samples\getbrowse folder.

1198. Added new function: DC_Csv2WorkArea(). This function loads a CSV file
into a work area. The top line of the CSV file must contain the field
names that match the work area. See the sample in
\exp19\samples\csv\csvimp2.prg.

1197. Added support for Xbase++ 2.0.

1196. Added a new NOKEYPRESS option to the TIMEOUT clause of DCREAD GUI.
This option will cause the dialog to timeout only if there is no key
pressed within the timeout period. Ex: .. TIMEOUT 20 NOKEYPRESS.

1195. Added a new button style to @..DCPUSHBUTTONXP to emulate Windows Outlook
2007 buttons. Thanks to Chris Andries.

1194. Changed browse features:

a. Browse row height automatically adjusts to browse font. This
feature is enabled with a new get-set function: DC_BrowPresType(2).
See sample in \exp19\samples\browse\browtype.prg.
Thanks to Jack Diujf.

1193. Fixed a regression error in DCMSGBOX and DC_MsgBox() that caused
buttons to not center-align.

---------------- New to 1.9 (build 256) ----------

1192. Added a GETALIGN option to the @ DCSAY .. GET command. GETALIGN <nAlign>
specifies how the characters are aligned within the DC_XbpGet object.

1191. Added an ALIGN option to the DCGET command. ALIGN <nAlign>
specifies how the characters are aligned within the DC_XbpGet object.

1190. Fixed a bug in @..DCPUSHBUTTONXP that causes an error when bitmap is an
icon.

1189. Fixed a bug in @..DCTOOLBAR..FIT that did not cause the toolbar to fit
the buttons when the toolbar was horizontal.

1188. Added an ALIGN <nAlign> option to the @..DCSLE command. ALIGN <nAlign>
specifies how the characters are aligned within the XbpSLE object.

1187. Fixed a bug in DC_Dir() and the dot-prompt DIR command that truncates
file names to 14 and would not open database.

1186. Owner-Drawing using SubClass. The SUBCLASS clause of all DC* commands
is now the preferred method of creating custom owner-drawn objects.
See the sample in \exp19\samples\static\MsgBoxCustom.Prg. This means
that all Xbase++ classes that support owner-drawing are automatically
supported by eXpress++.

1185. The :refresh() method of DC_XbpTabPage() has been simplified to use the
new :setCaption() method of XbpTabPage() and therefore greatly improves
performance when the caption of a DCTABPAGE is a codeblock.

1184. Documented WTF debugging command. (Same as DCBDEBUG). This debugging
may be placed in code blocks provided that it is framed by parenthesis:
Example {|a,b,c|(WTF a,b,c)}

1183. Added new function: DC_SetRoundRectRegion(). This function creates
radiused corners on a window. See the sample in
\exp19\samples\static\MsgBoxCustom.Prg

1182. Fixed a bug in the resizing system that causes a screen to not resize
properly after it has been minimized.

1181. Fixed problem with DCGET sometimes clearing buffer when typing numbers.

1180. DCGET..POPUP now supports ICONS for the popup caption.

1179. Add new function: DC_Array2CSV(). This will create a CSV file from a
2-dimensional array.

1178. New utility program named LOCATE.EXE provided by Jack Duijf. This
utility locates .DLLs or .EXEs based on SET PATH setting.
See \exp19\util\locate.prg.

1176. @ .. DCSTATIC and @ .. DCSAY now support an OWNERDRAW codeblock.

1175. Dialogs that use the fit clause and Status Bars now use system
metrics to fit properly under Windows 7.

1174. DC_CallStack() now lists the name of the source file.

1173. The record tagging system in @ DCBROWSE now supports tagging by using
the Shift-Down Arrow key or the Ctrl key and left mouse. Try it by
running \exp19\samples\tagging\tagging.exe.

1171. Added new lTestLock clause to DC_RecLock() and DC_AddRec().

1170. Added a TIMEOUT clause to the DCPRINT ON command to cause the print
previewer window to close after a specified time of inactivity.

1169. Added new function: DC_TabPageNavKeys(). This function is used to
establish a set of keys to use to navigate between tabpages. Default
is Alt-Left and Alt-Right. See how to use this function in
\exp19\samples\tabpage.prg.

1168. Created a new class: DC_BrowseQuery(). This is only a sample class and
not documented. Usage is included in the sample program
..\Samples\BrowseQuery\BrowseQuery.Prg. This class is used to provide
a popup window of a user-friendly dialog for creating filters for the
browse.

1167. Fixed a bug in @ .. DCPUSHBUTTONXP .. BITMAP when using the SCALE
clause. Bitmap will now scale down properly if the bitmap is larger
than the button.

1166. Added new COMBOWHEN and COMBOHIDE sub-clauses to the COMBO clause of
@..DCSAY..GET and @..DCGET.

1165. Fixed a regression bug that caused DCBROWSECOL .. DATA <bBlock> to not
evaluate correctly under some conditions.

1164. Added a workaround to DC_ArrayView() to prevent an error due to a bug
in Xbase++ when viewing an array with an XbpHtmlViewer() object.

1163. Fixed a bug that caused an error in @..DCBROWSE when using the TAGENABLE
feature and an empty array.

1162. Fixed a bug in DC_FileNameDupe() that caused it to sometimes calculate
the incorrect duplicate file name.

1161. Added a new parameter to the DC_Excel2Array() function: bEval is a code
block to evaluate after the Excel file is opened. The Excel object and
book automation object are passed to the code block. This can be used
for formatting cells before the array is created.

1160. Added 2 new parameters to the DC_PopFile() function: <oParent> and
<oOwner>.

1159. Updated tooltip system to prevent memory leaks. Thanks again to Jack
Diujf.

1158. Added CUEBANNER clause to the @ .. DCSLE command.

1157. Fixed Print Previewer to display scrollbars correctly on Windows 7.

1156. Fixed DCGET..COMBO to display scrollbars correctly on Windows 7.

1155. Added SFTP sample program. See .\samples\sftp.

1154. Added 3 new parameters to the DC_WorkArea2Excel() function:
<cDateFormat> is used to format date fields. <aFieldEvals> is an array
of code blocks that is used to custom-format the data. Thanks to Terry
Wolfe. <cPassword> is a password to apply to the file to allow
viewing by excel.
The eXpress train is coming - and it has more cars.

Post Reply