If your subscription is up-to-date, please send me an email for download instructions. Soon, there will be a login on our webpage for subscribers which will allow you to always download any version going back to 2008. I will announce when this is available. For now, just send me an email.
Code: Select all
---------------- New to 2.0 (build 261) ----------
1363. Added new NAVMODE <nNavMode> clasue to @..DCBROWSE. This is an option
that controls the way the browse handles navigation. The default
is XBPBRW_NAVIGATION_SYSTEM. The other option is
XBPBRW_NAVIGATION_1XCOMPATIBLE. This option is available only in Xbase++
2.0 or later. See the Alaska documentation for XbpBrowse:navigationMode.
1362. The \exp20\util folder now contains a file named PATHFOUND.PRG and
PATHFOUND.EXE. This utility searches your path for each occurrence of
a file to help debug pathing problems.
Usage:
"PATHFOUND ace32.dll" will search the path established by SET PATH
for aced32.dll.
"PATHFOUND dcdialog.ch INCLUDE" will search the path established by SET
INCLUDE for dcdialog.ch.
1361. The folder \exp20\PSCRIPT now contains a set of files for writing
reports using the PageScript system from ABEE. DCPS.CH and DCPS.PRG
contain commands and functions to use this excellent print engine with
eXpress++ style commands. DCPS commands are similar to DCPRINT
commands except they use the PSCRIPT.DLL print engine. This print
engine will create PDF files, includes a print preview, and also
supports bar codes. Run PBUILD PSTEST.XPJ and the run PSTEST.EXE to
view the sample programs.
1360. The DCSUBMENU..OWNERDRAW system will now allow icons and bitmaps of any
size. They will automatically scale to fit the menu.
1359. Fixed a bug in DCDIALOG.CH which fails to apply the HIDE clause to the
SAY object of DCSAY..GET.
1358. The Record tagging system is now threadsafe. DC_Tagged(),
DC_RecTagToggle(), DC_RecTagClear() are all affected by this change.
1357. Rolled back the DCBROWSE tagging system to the code in build 259. There
were too many reports of it not working correctly and it became too
difficult to determine how to fix the code in a timely manner. The
improvements made by JD may be added again in the future.
1356. Added new function: DC_ApplySQLParams(). This is used to apply local
variable data into a SQL statement and properly format it for SQL.
1355. Added new function: DC_Var2SQL(). This is used to convert an Xbase++
value to a SQL value for creating SQL statements.
1354. Added new function: DC_Array2SQLInsert( <aData>, <cTable> ). This is
used to create a SQL statement for inserting records into a database.
<aData> can be an single-dimensional array of record objects or a
multi-dimensional array of values that match the order of the fields in
the database.
1353. Added new <cRecordNum> parameter to DC_DbGather(). This is the name of
a numeric field that contains the current record number. It will be
updated with the RecNo(). This is handy when a record number field is
required in SQL queries and it needs to be maintained.
1352. Added new <nLockingMode> parameter to DC_AdsStatement():new(). This
allows SQL statements to work with compatible locking.
1351. Added a new <lNoSpawn> parameter to DC_PrintPreviewXPSWriter(). Also,
added a NOSPAWN subclause to the XPSWRITER clause of DCPRINT ON.
This prevents the XPS file from being viewed by the Document Writer.
1350. Added new batch file: MAKEDLL.BAT to .\UTILS. Use this when you want to
create code that you can run from an XDOT.EXE dot prompt. For example,
if you need to test functions, it is often simpler to put them into a
DLL and then load the DLL from the dot prompt. After that you can then
call the functions with appropriate parameters from the dot prompt.
Here is how you would use it.
From a DOS prompt run MAKEDLL test.
This will create TEST.DLL from TEST.PRG.
From a XDot.EXE DOT prompt run DLL LOAD test.
From a XDot.EXE DOT prompt call any of the functions in TEST.PRG.
Ex. MyTestFunction( 23, Date() )
1349. Added 3 new parameters to DC_WorkArea2Excel(). <lFreezeRow1>
(default TRUE) causes the first row of the Excel sheet to be bold font
and locked from scrolling. <lCSVFallBack> (default FALSE) causes a CSV
file to be created in the event that the Excel ActiveX control cannot
be loaded. <aColumnNames> is a 1-dimensional array with the names of
the columns. Default is the field name.
1348. Fixed a regression bug in DC_DbSkip() when using DC_SetScopeArray().
DC_Eof() failed to report end of file.
1347. Fixed a bug in DCBROWSECOL .. HIDE that doesn't restore the
useVisualStyle when the column is shown again.
1346. Changed DC_DbRecordClone() to not require an alias to clone the record.
1345. Added new function: DC_TimeToSec(). Converts a time string to seconds.
1344. Added new function: DC_DbRecordTrim(). Trims all trailing spaces from
character string values in a record object.
1343. Added new function: DC_TestLockEnable().
1342. Fixed a problem with DCSTATUSBARs when the dialog has no title bar
and/or no border.
1341. DC_WorkArea2Excel() now trims fields that are type C or M.
1340. Added Sub Classing support to the DC_XbpMenu() and DC_XbpMenuBar()
classes.
1339. DCPUSHBUTTONXP will now paint the background of the button in the
Windows visual style if the ::bgColor is GRA_CLR_BACKGROUND and a
manifest file is used.
1338. Added new SQL command and new DC_AdsSqlStatement() function. This
provides a functionality equal to the SQL SELECT feature of Xbase++
2.0, however it only works with Advantage Server and a Data Dictionary.
Look at the sample program in \exp20\samples\adssql\SqlTest.prg. The
command resides in DCADS.CH. The SQL command will return the result set
in a workarea, in an array, or in an array of objects or all of them.
1337. Added new functions for converting Xbase++ arrays and objects to
JSON or XML. DC_Array2JS(), DC_Object2JS(), DC_Array2XML(),
DC_Object2XML().
1336. Added a new ANCHOR clause to the DCSTATUSBAR command. This option is
used to anchor child items to the left rather than the right side of
the status bar (default).
Ex: DCSTATUSBAR oStat ALIGN DCGUI_ALIGN_BOTTOM ANCHOR DCGUI_ALIGN_LEFT
1335. Fixed a regression in DCPUSHBUTTON..FANCY that caused the caption
bitmap object to be destroyed. This was a regression in build 260.
Everything related to DCPUSHBUTTON..FANCY that was added in build 260
has been rolled back to how it was in build 259.
1334. Fixed a bug in the BUSY clause of DCREAD GUI that sometimes causes menu
items to be disabled.
1333. Fixed a regression in eXpress++ build 260 that caused a flicker on
tabpages when a tabpage receives focus.
1332. Fixed a bug in DC_InspectThreads(). The workarea dump routine could
leave a different work area selected.
1331. Fixed a bug in DC_DbRecordCopy() and DC_DbRecordClone() that did not
copy the contents of the RECORD_NUMBER and RECORD_DELETED iVars.