Clarion 6.1 release notes

XP specific:

FEATURE: New PROP:ThemeActive system property for XP theme support
WORKAROUND: Windows draws transparent check boxes and radio buttons incorrectly if XP themes are active
WORKAROUND: Windows does not clip caption text to control’s rectangle for GROUP/OPTION control if XP themes are active
WORKAROUND: Windows can use incorrect background for non-transparent GROUP/OPTION control if XP themes are active
WORKAROUND: Windows draws transparent GROUP/OPTION box incorrectly if XP themes are active

Win9x/Me specific:

WORKAROUND: MDI programs in W9x can GPF if many MDI child windows from different threads are closing simultaneously
WORKAROUND: Avoid BSOD under W9x on changing between MDI child window’s and frame’s system menus by left/right arrow keys
FIX: W9x/Me MDI programs can GPF if child window which menu bar was set as an active frame’s menu bar is destroyed before replacing frame’s menu bar

note We have opened an incident with Microsoft using a 100% MS VC++ program that shows the problems associated with multi-threaded MDI applications, and we hope they can help resolve any remaining problems.

Rich Text control specific:

FEATURE: Support of embedded objects in RTF
CHANGE: Support Paste Special command for RTF controls

General interest:

CHANGE: ErrorClass was divided in two - ErrorStatusClass and ErrorClass.
CHANGE: Added code to help calling a stored procedure that takes a cursor in the Oracle driver
CHANGE: TargetGenerator: removed the code to encrypt and compress
CHANGE: New implementation of version checking for runtime (C60RUNx etc) to catch DLL mismatches

FEATURE: ABC TransactionManager: new class to allow the user to control transaction handling via uselogout property in the RelationManager
FEATURE: ABC Template SaveButtonTransactionFrame: will add the code to use the TransactionManager in a form to allow updating parent/child tables in the same transaction using the TakeCompleted
FEATURE: TopScan: added functionality to support export of a range of records (by record number), expected use is for data recovery from file corruptions
FEATURE: Lazy Init added for ABC file managers to reduce resource requirements and speed up thread starting
FEATURE: PDF Encryption option in the template now has more options to set in the PDF, the code was moved to a button called “Security”
FEATURE: ABCHAIN.TPL : Added new prompt in the global tpl to generate file declarations into their own modules, these generated files are named FCx.CLW.
FEATURE: PDF OutputProcessor: Support for any image type supported by the Clarion report.
FEATURE: PDF Class: Support for encryption added
FEATURE: PDF Class: Support for compression added
FEATURE: FileManager: PrimaryKey,Fields,FieldTypes attributes changed from PRIVATE to PROTECTED to be used in a derived FileManager class
FEATURE: Mail tpl: added support for MSWord and Zip files for attachment types
FEATURE: Template support to allow buttons with STD:Help to call the HTML help instead of the .HLP help
FEATURE: ABC Browse: Sort Header feature, now supports disabling a column, or sorting on a different column(s) than the one displayed. For example a single column can cause a sort by more than one field.
FEATURE: Removed the builtin define GENERATED from all generated source files. This stops CWUTIL.CLW being recompiled repeatedly.
FEATURE: New LANGUAGE statements HOWMANY,GETGROUP and ISGROUP added
FEATURE: New language syntax blobRef &= file{PROP:Blob, n}
FEATURE: New parameter to NULL, SETNULL and SETNONULL to allow references to fields to be passed to these functions
FEATURE: Setting the trace file name to DEBUG: will cause the driver trace to go to the debug output FEATURE: provide Template support of EVENT:Notify in generated code
FEATURE: BLOB/MEMO support is added for XML parser. If BLOB/MEMO has the BINARY attribute the data is stored in the XML file with Base64 encoding.
FEATURE: new symbol %FilesPerFCModule with default value = 100 defines how many file declarations are generated per module and GLn.CLW. The GLO.CLW contains the global data as used to be in the main module, the GLL.CLW contains the same declarations but with the EXTERNAL attr. on them. In the main module only an INCLUDE for the GLL.CLW is generated.
FEATURE: Volumes of information added to Help and docs

FIX: ReportWriter now supports printing of RTF controls
FIX: You could not retrieve a BLOB with a view on an SQL driver. Side effect of this is that Report Writer did not work with SQL image BLOBs
FIX: SQL Anywhere driver did support connecting via a database name with ASA v9.
FIX: RelationManager: was opening all related tables to the maximum level even when the files were not used in the procedure. This change only opens the files referenced in the VIEW unless needed in the procedure.
FIX: Data for EVENT:GainFocus and EVENT:LoseFocus is cleared before events are fired
IMPROVEMENT: INSTANCE function: If the threadno parameter is set to zero(0), INSTANCE returns the address of the variable that is assigned by the program loader. This is also known as the variables’ thread independent ID.

Complete listing of changes/Fixes and Enhancements:

CHANGE: Messaging template: updated to use the new global error class.
CHANGE: ErrorClass was divided in two - ErrorStatusClass and ErrorClass.
CHANGE: ABC/Clarion report wizard: change the help ID
CHANGE: Messaging template: now shows description on the embed to know where to add the code
CHANGE: CURRENCY data type: name was changed to TCURRENCY to avoid conflicts with user defined data types.
CHANGE: Extend the hash table for pubdef’s
CHANGE: RelTree: ABC/Clarion: reorder how the info is displayed in the template tabs. CHANGE: change some characters in the Mime class so the header transport info is compatible with Outlook Express
CHANGE: Change version number to 6.1
CHANGE: Better synthesis of keystrokes CHANGE: Detect Tablet PC and Media Center versions of XP
CHANGE: Template: change on the security prompts text for PDF output (cosmetic)
CHANGE: Method SetSQLColQ now checks if the entry for a particular column name already exists. In that case, it will dispose the string reference and create a new one and assign the value passed. This will permit the developer to “overwrite” with hand code an entry generated by the template.
CHANGE: CCOMIniter.Construct and Destruct methods were not always setting flag properly to call CoUninitialize() in Destruct
CHANGE: Removed the option to create a new COMINiter object in the ADO Process CHANGE: Removed the option to create a new COMINiter object in the ADO BrowseBox Control CHANGE: Added code to help calling a stored procedure that takes a cursor in the Oracle driver
CHANGE: FILETOBLOB: failed if reading from a read-only file due to defaulted open mode
CHANGE: Make code more safe if thread handle is NULL
CHANGE: PDFClass: uses the new PDFTargetGenerator instead of the TargetGenerator
CHANGE: Filemanager initialization now needs to be slightly sooner.
CHANGE: Added an ASSERT to spot any times when a Filemanager could not be found for a file.
CHANGE: Added the THREAD attribute to the global COMIniter object in ADOSupport Extension template.
CHANGE: Clarion&ABC: remove the requirement text referring to the AUTO attr. in the global and in the browse tpl
CHANGE: New implementation of version checking for runtime (C60RUNx etc) to catch DLL mismatches
CHANGE: NULL(), SETNULL() and SETNONULL() are compiler intrinsics
CHANGE: The TopSpeed ODBC driver can now handle products that assume that SQL_SEARCH_PATTERN_ESCAPE is
CHANGE: Use registry equates from single file to avoid possible warnings
CHANGE: Method SetSQLColQ now checks if the entry for a particular column name already exists. In that case, it will dispose the string reference and create a new one and assign the value passed. This will permit the developer to"overwrite" with hand code an entry generated by the template.
CHANGE: Support Paste Special command for RTF controls
CHANGE: RelTree: ABC/Clarion: reorder how the info is displayed in the template tabs. (check doc for screen shots)
CHANGE: RTF: Turn support of the “justify” align mode on
CHANGE: the open(%window) is done in the class, this allows to use the second parameter of the clarion function OPEN deriving the open method instead of omitting the open code.
CHANGE: Handle WM_GETICON for windows

FEATURE: ABC Template SaveButtonTransactionFrame: will add the code to use the TransactionManager in a form to allow updating parent/child tables in the same transaction using the TakeCompleted
FEATURE: Added help Id to the ProcessTransactionFrameCheckpoint
FEATURE: ErrorStatusClass: to store the threaded data from errorclass
FEATURE: TopScan: added functionality to support export of a range of records (by record number), expected use is for data recovery from file corruptions
FEATURE: ABC TransactionManager: new class to allow the user to control transaction handling via uselogout property in the RelationManager
FEATURE: PDF Class: new PDFAccess: EQUATES, passing these to the SetEncryption as second parameter will set the user access in the PDF eg: MyPDF.SetEncryption(‘123pas’,PDFAccess:Print+PDFAccess:Copy) if not Access is passed the PDF will be open as read only.
FEATURE: new parameter to the OpenPage method to receive the WMF name.
FEATURE: ABC Browse: option to disable popup menu
FEATURE: Lazy Init added for ABC file managers to reduce resource requirements and speed up thread starting
FEATURE: FileManager: HasAutoInc,AutoIncDone attributes changed from PRIVATE to PROTECTED to allow them to be used in the triggers code and be able to differentiate in the OnUpdate if it came from an insert for auto inc or is a regular update.
FEATURE: PDF Encryption option in the template now has more options to set in the PDF, the code was moved to a button called “Security”
FEATURE: ABCHAIN.TPL : Added new prompt in the global tpl to generate file declarations into their own modules, these generated files are named FCx.CLW. FEATURE: LFM Global Template Prompts: New field to translate the SortOrder item in the POPUP Menu (it also supports use of a !Variable)
FEATURE: LFM Local Template: new embed before and after set the default format base on the sort order
FEATURE: use Embeds ABC/Clarion: EMBED(%ControlEventHandlingGeneratePreLookUp),%Control, HIDE & #EMBED(%ControlEventHandlingGeneratePosLookUp),%Control,HIDE setting the %ReturnValue on these embeds to %False can avoid the FieldLookup code to be generated also works in the Control FieldLookup Button
FEATURE: IReportGenerator: new parameter on the OpenPage to receive the WMF name,added the CharSet to the StringFormatGrp
FEATURE: PDF Class: Support for embedded DIBs
FEATURE: PDF OutputProcessor: Support for any image type supported by the Clarion report.
FEATURE: AutoBind fields: now if the autobind functions are used in an embed that is not correct, or is out of scope for the autobind, it will show a warning at generation time displaying the template,embed, etc.
FEATURE: PDF Class: Support for encryption added
FEATURE: PDF Class: Support for compression added
FEATURE: FileManager: PrimaryKey,Fields,FieldTypes attributes changed from PRIVATE to PROTECTED to be used in a derived FileManager class
FEATURE: RTF Class: Added context menus support.
FEATURE: added Template support/Prompts for compression and encryption settings for PDF output
FEATURE: RTF Template: Added support to show the embeds in the embed tree.
FEATURE: RTF Template: Added context menus support.
FEATURE: Equates to support Column oriented Report Output classes
FEATURE: Mail tpl: added support for MSWord and Zip files for attachment types
FEATURE: Template support to allow buttons with STD:Help to call the HTML help instead of the .HLP help
FEATURE: ABC Browse: Sort Header feature, now supports disabling a column, or sorting on a different column(s) than the one displayed. For example a single column can cause a sort by more than one field.
FEATURE: ABFILE: Added an IsOpened method to check if a file if actually open
FEATURE: A group %ControlFieldFieldNo was added, this group will be replaced later with a property with the same name in AppGen
FEATURE: EIP - Support for storing the Column number in the EditControlList and using it to fetch the correct field
FEATURE: Connection string source has a new option selection: “From a STRING variable”. Selecting that option will generate a call to Connect using the variable specified in the template entry prompt. The programmer will have the responsibility to make sure the string has a value before the call. The embed point “Before calling Connect” can be used for that. - ADO
FEATURE: Template now generates a string variable based on connection name to store the connection string value and uses that variable in the call to Connect instead of generating a string constant in the call itself. - ado
FEATURE: You can now use BLOB{PROP:Value} the same as BLOB{PROP:Text}
FEATURE: New PROP:ThemeActive system property for XP theme support
FEATURE: Removed the builtin define GENERATED from all generated source files. This stops CWUTIL.CLW being recompiled repeatedly.
FEATURE: You can now specify which fields are to be used to WATCH if a record has changed. By default all fields are used. However, if you have a specific field (or set of fields) that are always changed when a record is changed (eg a record last changed timestamp field), then you can set the external name of the field to <field_name> | WATCH and then only fields with the WATCH switch in them will be used to check if a record has changed.
FEATURE: You can now set and get a BLOB’s data using BLOB{PROP:Text} = str or str = BLOB{PROP:Text}
FEATURE: TopSpeed ODBC Setup now uses Explorer file dialogs
FEATURE: Predefined equate CWVER now returns 6100
FEATURE: New LANGUAGE statements HOWMANY,GETGROUP and ISGROUP added
FEATURE: You can now get the number of child files of a join by using view{PROP:files, n} where n is the join number
FEATURE: You can now get the number of fields projected for a file using view{PROP:fields, n} where n is the file number with the primary file of the view being file 1
FEATURE: New language syntax blobRef &= file{PROP:Blob, n}
FEATURE: predefined equate _VER_C61 added to the system
FEATURE: Added support in the Labels Wizard for more label types
FEATURE: LFM TRN: POPUP_NAME_OTHER equate to translate the popup menu
FEATURE: WHAT now takes an optional third parameter for accessing dimensioned fields.
FEATURE: Keep custom colors across Clarion sessions - PROP:CustomColor
FEATURE: support for encoding XML file in ISO8851-1 is added.
FEATURE: New parameter to NULL, SETNULL and SETNONULL to allow references to fields to be passed to these functions
FEATURE: Stop the trigger code being called multiple times by ISAM View operations
FEATURE: New SYSTEM property for getting/setting RGB values of “other colors” entries of the Color Dialog
FEATURE: A File level DSN that points at a single file used to refer to that file as UNNAMED. You can now refer to the file as UNNAMED or by the file name. This has changed the way SQLTables works. You will now get back the file name rather than UNNAMED as the name of the only table in this datasource. - TSODBC
FEATURE: SQLStatistics now returns information for all keys and indexes, not just the primary key. Keys have an index type of SQL_INDEX_BTREE, indexes have an index type of SQL_INDEX_OTHER. - TSODBC
FEATURE: A FileCallback interface is now called for view operations, if the file is the primary file of the view. If the file and the view have callback interfaces registered, then all the callbacks for the view are called before the ones for the primary file.
FEATURE: WHAT now takes an optional third parameter for accessing dimensioned fields.
FEATURE: Support of context menus in RTF
FEATURE: Setting the trace file name to DEBUG: will cause the driver trace to go to the debug output FEATURE: Support of embedded objects in RTF
FEATURE: File Driver logging now outputs the address of the file to enable you to tell the difference between a file and it’s Alias.
FEATURE: Better logging of Oracle calls.
FEATURE: HTML Report Output: new properties to store the page size.
FEATURE: HTML Report Output: improvement, now when the first,next, prev,last links are selected on the page the selected page on the listbox shows that page change.
FEATURE: You can use BLOB{PROP:Value} the same as BLOB{PROP:Text}
FEATURE: pass the WMF file name to the OutputProcessors
FEATURE: ABC Browse: option to disable popup menu. NEW ATTRIBUTEs UsePopUp BYTE(1),PROTECTED - EditViaPopup BYTE(1),PROTECTED NEW METHOD SetUsePopup PROCEDURE(BYTE UsePopUp=True),VIRTUAL FEATURE: ABC WindowManager: new method Open PROCEDURE(*Window pWindow,<*Window pOwner>),VIRTUAL this method is doing the OPEN(Window)
FEATURE: ABC WindowManager: new properties MyWindow,OwnerWindow assigned in the Open method they store the pointers to the actual window and to the parent window when the open is called with that parameter, otherwise is null
FEATURE: ABC WindowManager: new method TakeNotify PROCEDURE(UNSIGNED NotifyCode,SIGNED Thread,LONG Parameter),VIRTUAL,BYTE,PROC to trap the NOTIFICATION function, this method is called if the EVENT:Notify is received by the window and the NOTIFICATION function return True, the parameter values come from that function.
FEATURE: ABC/Clarion APP wizard: option for what files to generate expanded to select “All Files”“Selected Files” or “Primary Files”. Primary File is defined as: files that do not have any parent file or do not have any relations at all.
FEATURE: Graph class version 1.1, see readme.txt in for more information
FEATURE: PDF Class: moved some info to use only one Object instead of two, resulting in a smaller PDF file
FEATURE: provide support of EVENT:Notify in generated code
FEATURE: PDF Class: now the bookmark objects are written in sequence
FEATURE: BLOB/MEMO support is added for XML parser. If BLOB/MEMO has the BINARY attribute the data is stored in the XML file with Base64 encoding.
FEATURE: PDF Template: the security access to the document now supports the use of a variable value
FEATURE: Additional support for extracting the image from the WMF
FEATURE: new symbol %FilesPerFCModule with default value = 100 defines how many file declarations are generated per module and GLn.CLW. The GLO.CLW contains the global data as used to be in the main module, the GLL.CLW contains the same declarations but with the EXTERNAL attr. on them. In the main module only an INCLUDE for the GLL.CLW is generated.

FIX: The synchronizer would GPF when synchronizing dictionaries with triggers
FIX: TEXT controls can lose changes made on pressing some toolbar button (e.g., one with STD:Paste)
FIX: W9x/Me MDI programs can GPF if child window which menu bar was set as an active frame’s menu bar is destroyed before replacing frame’s menu bar
FIX: PDF : better creation of the underlines/strikeout text
FIX: ABC ReportClass: the endreport was not being called on a process
FIX: Incorrect work with font weight - PDF
FIX: DRAGID() and DROPID() returned incorrect value for thread number
FIX: PDF was removing the spaces in the strings
FIX: ABC DLLs were not using the Preserve variables option
FIX: Clarion chain: Autobind was used in the wrong embed
FIX: ABC DLLs were not using the Preserve variables option
FIX: The compiler does not reports an error if implicit variables are used out of any code context
FIX: By definition of MESSAGE() the first button is default unless other is specified by the 5th parameter
FIX: “Scroll to edge” command can work incorrectly
FIX: The compiler can run out of correct context after processing the header of unknown function
FIX: ABC/Clarion: EIP the spin control will not allow entry of negative numbers
FIX: HTMLGenerator: field Attribute was repeated in the HTMLReportGenerator
FIX: ABC Resize TPL: when the window is storing the position the Resize tpl was adding an unexpected Resize.Reset
FIX: ReportClass: can GPF if the process was aborted on the Init before initializing the process class
FIX: TransactionManager: was not restoring the uselogout if the start transaction failed and the user does not execute the finish
FIX: If button has the STD attribute, it executes STD action every time its parent window receives WM_COMMAND for that button
FIX: TopScan did not display BLOB fields in the file layout
FIX: Font dialog is forcing changing of font color and charset
FIX: create conversion program for multiple tables was not creating the conversion program
FIX: ReportWriter can now print RTF controls
FIX: Fix for the problem with changing TAB’s font in the screen formatter
FIX: You could not retrieve a BLOB with a view on an SQL driver. Side effect of this is that Report Writer did not work with SQL image BLOBs
FIX: Buttons with the SKIP attribute can receive focus by SELECT
FIX: PDF Class: pointer was being freed twice
FIX: Oracle driver would GPF if you tried to access a blob, but had not retrieved any records
FIX: The ODBC based drivers would not correctly parse calls to stored procedures that took an ODBC formatted date, time or timestamp literal.
FIX: Generate Conversion Program button was not disabled when you where dealing with non-Clarion dictionaries
FIX: SQL Views that included a filter which had a bound local variable which contained extended or double byte characters were not filtering correctly
FIX: IniClass.Kill would GPF if called twice
FIX: Unlimited recursion - ToggleBitSet.java
FIX: TopScan was not displaying the first character of a text BLOB field
FIX: COMMIT on a group of TopSpeed files would lockup if the files were in a long filename directory and some of the files’ names where in long file format and others in short file format and the TCF files were not specified, or if the TCF file was specified, but specified using short file name format for some files and long file format for others
FIX: SQL Anywhere driver did support connecting via a database name with ASA v9.
FIX: You could not read PROP:Inner for non-SQL views
FIX: constantclass.constantclass code should have been in a constructor
FIX: View Engine would GPF if you had tracing turned on
FIX: CREATE could return random errors if the file was already used in a PROP:SQL statement
FIX: The MSSQL driver handling of Connection busy did not work properly if the handling was set to retry
FIX: BLOBToControl template was not generating the correct code for retrieving the BLOB data into a TEXT control
FIX: CWUTILS was not getting compiled in an EXE using a dll
FIX: ODBC based SQL Drivers could sometimes pass the wrong memory address to the backend as a bound filter parameter causing 22005 errors.
FIX: The driver string builder for the ASCII driver would not let you set a buffer size of more than 16MB
FIX: MSSQL driver would lock up on closedown if NORESULTCALL had been called with a file that was not opened with mode 10H
FIX: LOGOUT would lockup with the TopSpeed driver if the first file in the logout list was previously detected as corrupted, but the program had not done anything about it.
FIX: The TEXT control must be framed within the Report Formatter
FIX: Blob{PROP:Size} was returning -1 instead of 0 when the blob was empty
FIX: SQL Drivers were incorrectly quoting the table name in the generated SQL sometimes
FIX: SQL drivers leaked memory when you did view{PROP:SQL}
FIX: TopSpeed ODBC Driver was corrupting the file if you stored a CSTRING that was bigger than the allowed size
FIX: ODBC Interface to TopSpeed files leaked memory when DROP TABLE was called
FIX: SQL Drivers would GPF if you increased the size of the BUFFER for a file
FIX: ASCII and BASIC drivers would GPF on ADD() if you set PROP:OEM to TRUE for a file that did not have the OEM attribute set at OPEN time.
FIX: ODBC Interface to TopSpeed files was returning the wrong error messages
FIX: The report engine was looking for the 5.5 DLLs when called from a program that was previously built with 5.5, but has subsequently been rebuilt with 6.0.
FIX: Auto Bind: was losing the ‘Do not BIND this field’ option
FIX: SQL Anywhere, MSSQL, and P.SQL drivers leaked memory on connection if you had multiple versions of the particular database installed on a machine.
FIX: The SQL drivers did not return results or output parameters from stored procedures that also returned result sets
FIX: Oracle driver: You could not call a stored procedure or function that returned a result set. You now can, provided you are using the Oracle 8 or later client. You can use the Oracle 8 client to access an Oracle 7 database.
FIX: ODBC drivers: Calling two stored procedures with output parameters could cause the result of the output variable to be put in the wrong bound variable
FIX: Checking values of fields declared in the class itself rather than in its base class in the class constructor can cause errors if class is declared in the procedure/routine scope and has the AUTO attribute; it is senseless in other cases - -
FIX: The ODBC driver would not always return all fields from a CALL
FIX: IMPLEMENTS was not, by default, color coded by the text editor
FIX: ERROR() would sometimes not get cleared if previously it had been set to a string where the first character was a space.
FIX: Accessing files in relative directories from the root directory would generate errors some times
FIX: Generate Conversion Program button was not disabled when you were dealing with non-Clarion dictionaries
FIX: The ODBC driver was leaving incompletely created tables lying around if a CREATE was called and the creation of the indexes failed
FIX: SQL drivers could lock up if multiple threads where closing simultaneously and there was at least one open BUFFERed view with no records in it.
FIX: The ODBC driver was creating NOT NULL clauses on a CREATE TABLE statement even if the backend did not support it
FIX: TopSpeed ODBC Driver was not returning an error if you tried to store a string bigger than the allowed space
FIX: If multiple fields have the same accelerator, first found visible field has to have priority
FIX: TopSpeed driver does not allow you to REMOVE a TPS file that has previously been found to be corrupt
FIX: The ODBC driver was not generating the correct SQL for backends that did not support aliases.
FIX: AutoSizeColumnClassType.Kill would crash if called twice
FIX: Browse Class was not protecting itself against not being correctly initialized on destruction
FIX: SQL Views where leaking memory when you changed a filter
FIX: HTML Report Output: incompatibility with Netscape when using the create subdirectory option (now generating conditional code).
FIX: PDF Class: including the program name two times in the command link
FIX: PDF Class: document could generate an error on open when it was encrypted
FIX: PDF Class: Some characters in the Bookmarks were wrong
FIX: QBE Button: was not enabling the fields with an external name other than the date/time
FIX: FileManager,ViewManager,DbChangeManager,DbAuditManager: Added the Killed attribute to stop calling the Kill method from the destruct if it was already called.
FIX: Passing WM_SETFONT to RTF control’s standard callback trashes the current font
FIX: ListboxFormatManager: added some validation code to report incorrect use when Auto is not set to OFF for listbox cols
FIX: The compiler is GPFing if VIEW’s main FILE is an invalid label
FIX: SortHeaders: was not enabling the fields with an external name
FIX: PDF Class: Error Flags has an invalid value
FIX: TopSpeed ODBC Driver did not support accessing tables inside multi-table files that where being accessed via a Directory level DSN
FIX: Prefix for external names should not be touched for &GROUP
FIX: PDF was not encrypting the hyperlinks & bookmarks
FIX: ViewManager: was not returning the first sort field value correctly when it has an external name
FIX: RelationManager: was opening all related tables to the maximum level even when the files were not used in the procedure. This change only opens the files referenced in the VIEW unless needed in the procedure.
FIX: The compiler can GPF if there are functions returning a result of unknown type by reference
FIX: If FieldName contains a Formula, then changing diagram types can lockup - graphing
FIX: ABC\Clarion - Graph tpl was not binding some required variables, now it also supports auto bind on the filter
FIX: Clarion Wizard TPL: Some incorrect references to ABC Form
FIX: ABC Browse TPL: some legacy templates did not display if the update procedure had parameters
FIX: Init/termination parameters of the LIBRARY statement are not mutually exclusive
FIX: The MSSQL driver handling of Connection busy did not work properly if the handling was set to retry
FIX: Hidden procedures can have incorrect calling conventions
FIX: Incorrect statement (DESTROY instead of DISPOSE) was being generated to destroy queues in some places
FIX: problem with attempt to display of wallpaper on report
FIX: incorrect name on graph axis when change of diagram type
FIX: The compiler does not report warnings about duplicated labels in the ROUTINE scope
FIX: PDF Class: Baltic charset (partially) implemented
FIX: FileManager,ViewManager,DbChangeManager,DbAuditManager: Added the Killed attribute to stop calling the Kill method from the destruct if it was already called.
FIX: EnterbyTab : was alerting the EnterKey at runtime even when the setting was not to enable it
FIX: ABC detailed EIP: error message was shown when a new column was added to the browse
FIX: FormVCR: was auto binding the fields in the incorrect embed
FIX: Setting or getting PROP:Cursor did not work for toolbars
FIX: CLONE would lose the control’s cursor name
FIX: Program can go into infinite loop on shutting down if child window displays a modal dialog on closing
FIX: The RTF control can set incorrect DC after printing
FIX: START_TRAN and END_TRAN can be unpaired if error occurs on logging the first table
FIX: Memory leak if error occurs on logging the first table
FIX: Change open mode for BLOB access to accommodate files flagged as read-only (40h)
FIX: If Clarion DLL is used in non-Clarion EXE, the program can GPF on the START of the new thread
FIX: cFieldPair.Destruct wasn’t assigning null to queue fields of type ANY before freeing and disposing the queue reference.
FIX: CWideStr Init procedure(*string str, byte bSelfCleaning). The CSTRING created dynamically was missing an extra byte in the size for the ‘\0’ at the end. The CSTRING also wasn’t assigned the value passed in the str parameter.
FIX: The toolbar is displayed as black if its background color is set to any system color
FIX: Default value of PRAGMA was not being set.
FIX: ABC ReportPreview the ‘Go to page’ window was not using the translator class
FIX: ConstantClass: resetting the class was not setting the SELF.Complete = False
FIX: EIP was using the Ordinal Number and not the Field Number (%ControlFieldFieldNo)
FIX: Inconsistency between return types in public prototype and implementation - LOWER()
FIX: ABC was not detecting the duperror on autonumber
FIX: fnexpand() function works incorrectly for UNC names
FIX: ABC-Clarion EIP: when the listbox format manager was used or any Column has color/Style/Tip or Icon the EIP was not working properly because was using the Ordinal Number and not the Field Number
FIX: ABC ProcessManager: new property ChildEOF (BYTE) that is set to true when the child for the parent record gets EOF. Two new methods: ChildProcessingStart & ChildProcessingEnd
FIX: ABC ProcessManager: new property ChildEOF (BYTE) that is set to true when the child for the parent record gets EOF. Two new methods: ChildProcessingStart & ChildProcessingEnd
FIX: ABC Report TPL: If a detail used a child file, record was repeated for each parent record.
FIX: Added extra check in group %GenerateMapperAddFieldsInfo and %AddFieldsToMapper to handle ‘adDate’ type
FIX: ViewXML Template: when using the file name option it was generating an error of unknown %StripPling
FIX: Applied DEFAULT attribute to OK button in Save Query window - ado
FIX: Applied DEFAULT attribute to the SELECT button in the Load Query window - ado
FIX: POPUPClass : was not using the correct font charset
FIX: ABC ReportPreview: Go to page Window was not using the translator class
FIX: HTML Report Output: incompatibility with Netscape on the CSS file (removed extra space before mm).
FIX: HTML Report Output: when not using the create subdirectory option, the image names were not using the current directory and not displaying
FIX: FormVCR: when a Tab was changed the code was issuing a REGET
FIX: Avoid memory leaks for ViewManager’s which are not instances of derived classes
FIX: duplicated warning with svapi.inc: registry equates
FIX: Clarion chain was exporting the END of a global class structure from the data DLL
FIX: CTLBROW.TPW: clarion chain: View Declaration was not generating INNER when needed
FIX: ABC chain: when a file was declared other than as a FILE (Queue), it was still exporting the FileManager/RelationManager in the data dll
FIX: ABC/Clarion chain: data dll was exporting TYPEd global data
FIX: ABC Wizard: the checkbox to disable popup menu on a browse was not working
FIX: Error was reported for the NOCASE attribute in BREAK structure declaration
FIX: The application can remain in foreground if its active window is closing when application is losing the focus
FIX: COMCTL can’t draw buttons using the not-standard background color
FIX: Addition and subtraction of 2 DECIMALs can give incorrect result if first operand is not-normalized 0
FIX: ABC Update buttons have no option to disable use of popup menu on the browse
FIX: GROUPs and OPTIONs without the BOXED attribute are not visible in the Report Formatter
FIX: The Topespeed driver could not distinguish names of the same TCF file mapped differently
FIX: TranslatorClass: Added synchronization to the class
FIX: The program can GPF sometimes on creating the frame’s toolbar
FIX: CREATE of controls on the global toolbar is causing incorrect merging of changes to MDI child windows
FIX: BN_SETFOCUS and NM_SETFOCUS notification messages must be processed only if the button has SKIP attribute or placed on a toolbar
FIX: MDI child windows with the CENTER attribute are displayed in wrong location if frame is on the 2nd monitor
FIX: External threads are attached to Clarion RTL incorrectly
FIX: Prevent recursive calls to EndDeferWindowPos
FIX: ODBC Interface to TopSpeed files was not returning an error message when CREATE INDEX or DROP INDEX where called
FIX: GPF if multiple QUEUEs or CLASSes are declared in the same “Globals” or “Pool” file in dictionary
FIX: Incorrect error position is reported for declarations of DECIMAL and PDECIMAL variables without size
FIX: Memory corruption on setting PROP:LineHeight to dynamically created drop list
FIX: WS_TABSTOP style is forced for current radio button even if it has SKIP attribute
FIX: If current printer is printing to file or attached to FILE: port, the File Dialog must be invoked
FIX: Windows OS can cause program GPF if it is terminated with HALT or STOP
FIX: If current printer is set to print to file and output file name is known, the printer driver asks its nevertheless
FIX: If chosen printer is set to print to file, the old style File Dialog is invoked
FIX: If current printer is changed, previous printer DC must be deleted
FIX: If button was disabled while it was pressed, it can be drawn incorrectly after enabling
FIX: Memory leaks on getting or setting BLOB’s properties FIX: Data for EVENT:GainFocus and EVENT:LoseFocus is cleared before events are fired FIX: Error 755 if very large numbers of source files with the ABC header indicator present(ON) existed in libsrc
IMPROVEMENT: Allow multiple EXP files on linking
IMPROVEMENT: INSTANCE function: If the threadno parameter is set to zero(0), INSTANCE returns the address of the variable that is assigned by the program loader. This is also known as the variables’ thread independent ID.
IMPROVEMENT: Detecting of possible target for drag-n-drop is improved if target belongs to a window overlaying the drag host
IMPROVEMENT: Implementation of drawing of buttons
IMPROVEMENT: Do not add modules without static variables into Globals list - debugger
IMPROVEMENT: Draw disabled text of GROUP/OPTION controls more accurately
IMPROVEMENT: Retrieve tabs from the text

WORKAROUND: MDI programs in W9x can GPF if many MDI child windows from different threads are closing simultaneously
WORKAROUND: Avoid BSOD under W9x on changing between MDI child window’s and frame’s system menus by left/right arrow keys
WORKAROUND: Do not allow internal repainting of GROUP/OPTION control caption on changing UI state
WORKAROUND: Windows draws transparent check boxes and radio buttons incorrectly if XP themes are active
WORKAROUND: Windows does not clip caption text to control’s rectangle for GROUP/OPTION control if XP themes are active
WORKAROUND: Windows can use incorrect background for non-transparent GROUP/OPTION control if XP themes are active
WORKAROUND: Windows draws transparent GROUP/OPTION box incorrectly if XP themes are active