Here is a list of changes in build 255:
Send me a private email if you know that your subscription is current and I will send you download instructions.
Code: Select all
---------------- New to 1.9 (build 255) ----------
1153. Fixed a bug in DC_PopDate() and that incorrectly displays the week
number when using DC_PopDateWeek().
1152. Fixed a regression error in DC_TokenArray() that will cause undesirable
results when using the 3rd (lQuote) parameter and the string contains
one or more single quotes.
1151. Added new OWNER parameter to the DCMSGBOX command and DC_MsgBox()
function. If the owner parameter is not used, the message box will
center on the primary monitor, otherwise it will center on the owner.
1152. Added new BUTTSIZE and HORIZONTAL parameters to the DCMSGBOX command
and DC_MsgBox() function. BUTTSIZE <aButtSize> will set the size of
buttons that are created with the BUTTONS clause. HORIZONTAL will
place the buttons horizontally instead of vertically.
1149. Added new Get-Set function: DC_AutoLockEditedRecord(). This function
is used to enable or disable the automatic record locking when using
an alias in a field that is associated with a DCGET. The default is
.TRUE. or ON.
1148. Added new NOPROGRESS clause to the COPY TO and APPEND FROM Xdot
commands. This will cause copying to and appending from large
databases to go much faster because the progress bar will not be
displayed.
1147. Added several new sample programs in .\samples\ads folder:
ADSQUICK.PRG : Demonstrates how easy it is to add Advantage Server to
an existing application.
ADSSQL.PRG : Demonstrates how Advantage Server can be used in ISAM mode
or SQL mode to access data.
UPDATE.PRG : Utility program that is used to update the structure of a
set of database files and indexes to exactly match the
structure in a data-dictionary (.ADD) file.
DATADICT.PRG : Opens a data dictionary and provides a treeview of all
tables and views in the dictionary. Right-click a tree
item for a menu.
SQLRUN.PRG : Utility program that is used to run a *.SQL file. It does
NOT require ADSDBE because the SQL query is accomplished
using the Ads API rather than a work area.
1146. Add new DropFilter sample. DropFilter is a technique for providing a
dropdown of user selections for creating a complex filter for an
array browse. See .\samples\browse\dropfilter.prg.
1145. Added new function: DC_DbRecordCopy(). Copies the contents of a record
object to another record object.
1144. Dialog windows that don't use the FIT clause now place elements
correctly on the window based on system metrics.
1143. Added new sample to show how to use the XbpProgressBar class from
XbpPack2 with eXpress++. See .\samples\XbpPack\Progress.Prg.
1142. Added new FORMATTED clause to the @ .. DCSAY and @ .. DCSTATIC
commands. This allows for displaying of formatted text with bold,
italic, underline, tabbed or indented characters. See the sample
program in .\samples\static\formatted.prg.
1141. Added new feature to the @..DCTABPAGE command. Bitmaps or Icons can
now be placed on the tab of a tabpage, with alignment options for the
text. See the example program in .\samples\tabpage\tabpage.prg.
1140. Added new OBJECTVAR clause to the DCBROWSECOL command. This provides
for browsing elements of objects that are in an array. See the example
program in .\samples\browse\objects.prg.
1139. Fixed a problem in DC_BitmapDraw(). Autoscale would not work correctly
if the aspect ratio was 1. Thanks to Daan Vossebeld.
1138. Fixed a memory leak problem related to tooltips when using a parent
dialog that was not created by eXpress++.
1137. Added new function: DC_MsgBoxColor(). This is a Get-set function for
setting the default text color of lines of text for the DCMSGBOX
command.
1136. Added new OWNERDRAW clauses to the DCBROWSE and DCBROWSECOL commands.
This provides ownerdraw capability to the browse system. See example
in \exp19\samples\browse\ownerdraw.prg.
1135. Added new command DCEVAL. This is used to add a command to the GetList
to evaluate a code block during the processing of the GetList by DCREAD
GUI.
1134. Fixed a bug in the FILTER feature of DCBROWSE that causes it to show
an item even if all are filtered out.
1133. Fixed a bug in DC_DbGoTo() that prevented it from setting the record
pointer when using a Scope Array.
1132. Fixed a bug in DCSPINBUTTON that caused the UPSPIN and DOWNSPIN clauses
to not work correctly. Thanks to J. Duijf
1131. Added a NOSPAWN subclause to the ACROBAT clause of DCPRINT ON. This
prevents the PDF file from being viewed by Acrobat.
1130. Added new function: DC_SetCPU(). This will automatically rotate the
usage of multiple CPUs for load-balancing the application on terminal
servers or Citrix servers.
1129. Added new LOCKWINDOWTOOWNER clause to the DCGETOPTIONS commands. This
insures that a window (even modal windows) cannot be moved outside the
perimeter of the owner window. Thanks to Tom Liehr.
1128. Added new options to the BUTTONS clause of DCGETOPTIONS. The
<aButtons> array now allows for the additional optional parameters:
Element Type Description
------- ----- -------------------------------------------
6 N/C/O Bitmap resource, name or object when element 7 is
an object
7 O Configuration object - DC_PushButtonXPConfig() class
8 B WHEN Code block
9 C/B TOOLTIP
10 C/O Font compound name or font object
11 N/A Accelerator hotkey or array of hot keys
1127. New SpellChecker sample program. Uses Chado SpellText OCX. See sample in
\exp19\samples\chadospell\ChadoSpell.Prg.
1126. New function: DC_XorStrings(). Returns a string that is an Exclusive OR
(XOR) of 2 input strings of equal length.
1125. New function: DC_HmacSha1(). Returns a hash that meets the RFC 2104
specification for encrypted message authentication:
http://www.ietf.org/rfc/rfc2104.txt
1124. Added new REGISTER clause to the DCACTIVEXCONTROL command to
automatically register an OCX or DLL if it is not already registered:
DCACTIVEXCONTROL oControl .. REGISTER cClsId, cOCX
See sample program \exp19\samples\chadospell\ChadoSpell.Prg
1123. Added new sample to demonstrate how to add a messagebox that is
attached to pull-down menus. Allows better view of menu messages.
See sample program: \exp19\samples\menu\msgbox.prg
1122. New BARBITMAP option added to the DCMENUBAR command. This only works
with the OWNDERDRAW clause. This will tile-draw the bitmap across the
menubar. See sample program: \exp19\samples\menu\msgbox.prg
1121. New ZEBRA option added to the the COLOR clause of @..DCBROWSE. Thanks
to Jack Duijf. See the sample program: \exp19\samples\browse\zebra.prg.
1120. New function: DC_StripMarkerText().
1119. New functions: DC_Array2HexString(), DC_HexString2Array(). These are
needed when sending an array of info in an email or soap envelope.
1118. Fixed a bug in DC_GetOrigUpdated(). Would cause errors if values
compared were not the same type.
1117. New function: DC_DotVar() returns an array of info about the dialog
window and Getlist for the dialog that invokes the dot-prompt when
using DC_DotHotKey().
1116. Fixed a regression error in DC_XbpTabPage() that caused flickering when
using a color on a tabpage.
1115. New function: DC_FileCopy() is used to copy or move a set of files to a
common location. Displays a dialog window with a progress bar and an
option to cancel the copy or move. Function is handy when there are a
set of very large files that could take a lot of time to copy or move
across a network path.
1114. Changes to KEYBLOCK clause of @ .. DCGET.
1113. New function: DC_RecordDupes(). Returns an array of duplicate records
in current workarea.
1112. New functions: DC_DbRecord2File() and DC_DbFile2Record().
1111. New function: DC_FileCompare() provides a byte-by-byte comparison of
two files.
1110. New function: DC_PopTime() is a time picker that can be called from
Xbase++ code or in a code-block via the POPUP clause in the DCSAY..GET
command.
1109. Improved behavior of DCPUSHBUTTONXP when a button is resized. The
bitmap on the button will also resize proportionally.
1108. Added a 5th parameter to DC_RegWrite(). Now the <type> of the registry
entry may be sent. This allows for any type of registry entry.
1107. New function: DC_FileNameDupe() returns the next file name in a series
so multiple files of the same name may be saved in the same directory.
1106. Fixed a regression bug in DC_GetWhen() when using a menu system that
was not created using eXpress++ DCMENU*.commands.
1105. Fixed a regression bug in DC_GraPaintControls(). This function is
called only when using DCGRA* commands.
1104. DCSTATIC and DCGROUP objects will now behave correctly when using the
WHEN clause. Child objects will be properly disabled.
1103. Added a COLOR clause to DCMSGBOX.
1102. Fixed regression error in DCPUSHBUTTON STATIC and DCBARCHART.
1101. Lots of improvements to the XCodeJock system. See sample programs.
1100. Added keyboard tagging to the TAGENABLE feature of DCBROWSE. Now can
use Ctrl-Up, Ctrl-Down and Space bar for tagging/untagging.
1099. Added new WHEN and REFRESHBLOCK subclauses to the AUTOREFRESH clause of
@ DCBROWSE.
Example: @ .. DCBROWSE .. AUTOREFRESH 1000 WHEN {||NotBusy()} ;
REFRESHBLOCK {||MyRefreshRoutine()}
1098. New function: DC_WindowList() will popup a list of open windows and
allow the user to bring that window to the front. This function is
handy when there are so many open windows that some get hidden behind
others.