Version 3 Release Notes for All Products ======================================== The following release notes are current as of: ---------------------------------------------- Jan 19 2009 JR Version 3.3.36 Jargon Reader(R) JW Version 3.3.36 Jargon Writer(R) For the latest released version of each product, check our "Jargon Software - Version 3 Release Files" web page at: http://www.jargonsoft.com/v3/doc/versions.html The following product abbreviations are used in these notes. Note that versions for Windows Mobile 5 and later have a "5" in their name, e.g. ReaderPPO5.exe. The main difference in these WM5 versions involves how to render images correctly. Abbrev Description ------ ----------------------------------------------- JRALL Jargon Reader - all platforms JRALW Jargon Reader - all Windows/PocketPC versions (not JRPLM) JRPDA Jargon Reader PDA Emulator (runs on Windows PC) JRPLM Jargon Reader for Palm OS 3.5 and 4.x (no longer supported) JRPPC Jargon Reader for Pocket PC JRPPO Jargon Reader for Pocket PC with Oracle DB JRPSC Jargon Reader for Falcon PSC 4220/4410/4420 JRSYM Jargon Reader for Symbol JRSYO Jargon Reader for Symbol with Oracle DB JRWCE Jargon Reader for Windows CE JRWCO Jargon Reader for Windows CE with Oracle DB JRWIN Jargon Reader for Windows PCs JW3 Jargon Writer Version 3 COMPLETED ITEMS: ================ ----------------------------------------------------------------------- JW VERSION 3.3.36 INCLUDES THE FOLLOWING NEW FEATURES AND DEFECT FIXES ----------------------------------------------------------------------- Layout Editor: - New "Sort" checkbox to display available function names sorted by function name (case-sensitive). Uncheck to display in the order that the functions occur in the script. - New textfield and buttons to find first/next function name that begins with or contains a specified string (not case-sensitive). Also a new button to position to the last function in the list and select it. - The "Save As" routine now edits that the app name is not a reserved object name ("button", "jsifile", etc.), which can cause problems. - Boolean component attributes are now rendered as checkboxes in the attributes table (instead of as comboboxes with true/false choices) Script Editor: - Clicking into the "Search for" textfield now resets any selected text in the script editor, and the search is done on the "Search for" value. - Pressing Enter in the "Search for" field now does "Find Next" action. - New combobox with function names to quickly jump to selected function. - When returning to script editor, now displays the last line you were on. ----------------------------------------------------------------------- JR VERSION 3.3.36 INCLUDES THE FOLLOWING NEW FEATURES AND DEFECT FIXES ----------------------------------------------------------------------- D32.33 checkbox selection from host not working Priority: High Details: Host methods to select a checkbox are not being processed correctly, "false" values will de-select a checkbox but "true" values do not select a checkbox. The client-side methods do work properly, so it is the processing of the checkbox "DI" host command that is not correct. D32.40 Time is off by one hour Priority: Urgent Details: Date object is returning a time that is off by one hour, this is a previous bug that was fixed in 3.3.30 but that resurfaced when DST started. D33.13 Table with vertical fill scrolls incorrectly after being resized Priority: Urgent Details: On a table with vertical fill, if the window is maximized or resized so that a partial row shows in the table, using the down arrow to scroll down will paint row data with part or all of the pixels chopped off. In some cases it renders entirely empty rows except for a few stray pixels. D33.14 Wrong row number returned by GetSelectedRow after editing and clicking Priority: High Details: If the textcelleditor EditEvent is fired (after data entry in an editable text cell in a table) by the user clicking into a different row, the table GetSelectedRow() method is returning the new row where the user clicked, not the row where the editing was occurring, making it impossible to determine which row contained the cell that was being edited D33.21 Rendering frames is very slow if there are buttons with images Priority: Urgent Details: Rendering frames is very slow if there are buttons with images. This could have something to do with the changes made to deal with the new image handling APIs that were in Windows Mobile 5. The 3.3.16 Writer.exe (which works fine) was released before those changes were made, and all the later versions of writer.exe have the same speed issue. D33.27 Clear the "CalculateSize done." message when frame is first rendered. Priority: Urgent Details: Clear the "CalculateSize done." message that displays in the frame status line area (only the first time a frame is rendered) after the frame rendering is done. D33.29 Repeated jsifile.Read() calls cause memory errors Priority: Urgent Details: When using jsifile.Read() to open, read in and close a large text file, repeating this a few times causes memory allocation errors and requires a restart of Reader, or else the read silently fails to read anything in. This is an issue on all WinCE and WinMobile platforms, but works fine on Win32. D33.30 Tooltips lost after component gains focus Priority: Medium Details: Once a component has received focus (by clicking it or tabbing into it), it never displays its tooltip again, even after focus is placed elsewhere. Probably tooltips are being suppressed while focus is gained so that the tooltip does not interfere with data entry etc, which is fine. But it apparently is not turned on again afterward. (Windows platforms only). N33.29 Add new "ValueChangedEvent" to combobox Priority: High Details: Add a new event "ValueChangedEvent" to the combobox object that fires when using the keyboard arrow keys to scroll through selections one at a time (without dropping down the list). N33.30 New table method RemoveRow to delete a row from a table Priority: High Details: Add a new method to the table object to remove a row from a table, and then move all higher rows down one row. N33.31 New table method GetRowCount to get the number of populated rows Priority: High Details: Add a new method to the table object to get the number of populated table rows. Search the currently allocated table rows from the end backward, for the last row that has any column that has a value that is not null or an empty string, then return that number plus one. We don't care if there are embedded empty rows. If all rows are empty, return zero. N33.32 New combobox methods to remove selections and to get a list of selections Priority: High Details: (1) Add a new method to the combobox object to remove a case-sensitive value from the list of choices: RemoveString(string valueString) returns boolean (true if successful, false if valueString not found in list) (2) Add a new method to the combobox object to get a delimited list of all the choices currently in the combobox: GetStringsList(string delimiter) returns string of choices, delimited by the specified delimiter, or an empty string if there are no choices in the combobox. N33.35 new table method GetRowText to get a row's values as a delimited string Priority: High Details: Add a new method to the table object to get all values in a specified row as a delimited string: GetRowText(int nRow, string delimiter) returns string of column values in selected row, delimited by specified delimiter. Useful for calling existing SetRowText to copy data between tables, or to different rows in the same table. N33.36 new table method InsertRow to insert a new row Priority: High Details: Add a new method to the table object to insert an empty row at a specified row number, and move the existing row and all higher rows up one row. N33.37 new table methods SetRowColors, SetCellColors, ResetAllColors to set and reset FG/BG colors for table rows and cells. Priority: High Details: Add new methods to the table object to set FG/BG colors on cell contents: void table.SetRowColors(int nRow, int FGRed, int FGGreen, int FGBlue, int BGRed, int BGGreen, int BGBlue) void table.SetCellColors(int nRow, int nCol, int FGRed, int FGGreen, int FGBlue, int BGRed, int BGGreen, int BGBlue) void table.ResetAllColors() N33.38 Enhance the table cell editor choices to include checkboxes. Priority: High Details: 1. Enhance the SetCellEditorType(int nRow, int nCol, int nEditorType) table method to change one cell's editor to a checkbox, with new EditorType 3. 2. Provide new table child component "checkboxCellEditor" to specify that all cells in a table column will render as checkboxes. 3. When a user clicks into a cell, a checkbox is rendered and the current value is toggled (checked/unchecked). When it loses focus, the editable checkbox is removed and replaced with an exact image of a checked or unchecked checkbox. 4. If a true/false value is displayed into an empty checkbox cell, it also renders such an image. To select or unselect the checkbox from a script, use the existing method SetCellData (int nRow, int nCol, string cellText) with cellText being 'true' or 'false'. The method GetCellData (int nRow, int nCol) will return the string 'true' or 'false' for a cell which has been edited or displayed as a checkbox. 5. Until a checkbox cell is edited or displayed, it will be blank and will return an empty string for the GetCellData (int nRow, int nCol) method. ----------------------------------------------------------------------- JR VERSION 3.3.35 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES ----------------------------------------------------------------------- D3.3.35.01 Reset script line count in xml parser (JW3) Priority: Low Details: The xml parser in Jargon Writer was not resetting the script line count variable at the start of each script, resulting in incorrect values when any parsing errors were displayed. D33.04 Splitting an xml element onto two lines causes a parsing error (JW3) Priority: Low Details: Splitting a component xml element onto two lines causes a parsing error e.g. this won't parse, but it is legal XML syntax: D33.24 Comboboxes lock up after running an app from cache (JRWIN) Priority: Urgent Details: A client application has a frame with multiple comboboxes that get populated in the app's init function. This works correctly when the apps are first opened from source xml files, but fail if the app is ended, apps are saved in the cache folder, then the app is started again and run from cache files. - The combo boxes do not get populated or respond to mouse/keyboard actions. - Other buttons and menubars still work correctly, so the app is active, just the combobox objects are locked up. - Also bug only shows up if app is run by starting with an external startup app (ApplicationMenu.xml). If run from the internal ApplicationMenu or by using a differently named startup app with an ini file parameter in the ReaderWIN startup command, then it works correctly. - Bug only happens in ReaderWIN 3.3.30 and later. Works correctly in V3.3.22. N3.3.35.01 Allow colons in xml attribute names (JW3) Priority: Med Details: To support xml "namespaces", the parser was changed to allow a colon as a valid character in an xml attribute name. e.g. xmlns:xs="blah blah" N3.3.35.02 Increase components per frame from 50 to 150 on Win Mobile Priority: Med Details: Increased maximum components per frame from 50 to 150 for Windows Mobile versions of Reader. Maximum components/frame on desktop is still 300. N3.3.35.03 Add Patent Number 7,246,351 to Help/About window Priority: Med Details: Display Jargon Software patent information in the Help/About window. ----------------------------------------------------------------------- JR VERSION 3.3.34 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES ----------------------------------------------------------------------- D33.03 Setting database timestamp to a script date value adds one month Priority: Med Details: When assigning a value to a database column of type "timestamp" in an Oracle table, if the value is a script date variable created using "new Date()", then it adds one month to the value placed in the column. example: curs.ORDDATE = new Date(); If this is run on 05/01/2007 then the result in ORDDATE is 06/01/2007. D33.11 Removing button image leaves image attribute in xml element (JW3) Priority: Med Details: Once a button has an image assigned to any of its image attributes, removing the image by setting the value to an empty string ("") still puts that image attribute in the xml with an empty value. Need a new "DeleteAttribute" method to remove it from the xml. Fixed as part of general change to delete attributes where the value equals the default (or is an empty string and there is no default). N3.3.34.01 Implement sys.OSExec(string cmd) for Windows Mobile Priority: Med Details: In ReaderWIN, we have a sys.OSExec(string cmd) function that can start any other Windows app. However this is not currently implemented on the Windows Mobile platforms. It would be very useful to have this feature on handhelds, and also to be able to pass parameters to the invoked program as well, on all platforms. N3.3.34.02 Get desktop releases up to date Priority: High Details: Need new releases of ReaderPDA, ReaderWIN and Writer products. These products did not have new releases in V3.3.33. ----------------------------------------------------------------------- JR VERSION 3.3.33 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES ----------------------------------------------------------------------- D3.3.33.01 Date method returns invalid dates in certain situations Priority: High Details: The date getMonth method returns the wrong month value when you are in the last day of the month and it is after midnight Zulu time (GMT). Try setting your clock to 03/31/07 with a time of 11:00PM which is after midnight GMT in all US time zones. The date.getMonth function will return 4 as the current month. This is consistent for the last day in all months. N3.3.33.01 Build with "Release" mode to reduce size of executables Priority: Med Details: When building final releases of Reader/Writer products, use the "Release" mode instead of "Debug" mode to reduce the size of the executable files. Debug builds typically are larger and contain information in them which make debugging issues easier. Release builds remove this additional code making them smaller and faster. N3.3.33.02 Get Symbol releases up to date Priority: High Details: Need new releases of ReaderSYM/SYO/SYM5/SYO5 for Symbol products. These products have not had new releases in a long time and never for WM5. ----------------------------------------------------------------------- JR VERSION 3.3.32 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSION 3.3.31): ----------------------------------------------------------------------- N3.3.31.01 Add PHP version of 'jsi' host methods and documentation files Priority: Med Details: Add PHP version of 'jsi' host methods and related documentation. PHP is a scripting languague available for unix, Linux and Windows. N3.3.27.01 New sys method SaveApp(string appname) to save app to cache Priority: High Details: New sys method SaveApp(string appname) saves the current memory structure of an open app to a ".dom" file in the "cache" subfolder. This is done automatically when an app is closed, however this method allows it to be done programatically, on an event such as a user button press, or every 'n' seconds when a system timer event fires. ----------------------------------------------------------------------- JR VERSION 3.3.30 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.3.18 - 3.3.29): ----------------------------------------------------------------------- D3.3.30.01 Doing an SSL POST with http.SendRequest(true) blows up (JRPPC/JRPPO) Priority: High Details: Doing an SSL request with http.SendRequest(true) blows up if it is a POST, i.e. has done some http.AddParam(...) calls, but works correctly if it is a GET with either no params or with all params as part of the URL string. This is only a problem with Pocket PC versions. D3.3.30.02 The jsifile.Open() method fails after an SSL request (JRPDA) Priority: High Details: The jsifile.Open() method fails after an SSL request on ReaderPDA. N3.3.28.01 New jsifile method Append(string filename, string data) Priority: High Details: New jsifile method Append(string filename, string data) to append data to a local text file. N3.3.28.02 New host methods to write, append and delete files on local device Priority: High Details: New host methods to write or append data to a local text file on the remote device, or to delete such a file. Host methods added to Progress 4GL, Java, ASP and Oracle library files. N3.3.27.01 New sys method PlaySound(string filename) to play audio files Priority: High Details: New sys method PlaySound(string filename) to play ".WAV" audio files D3.3.26.01 Reader removes embedded spaces in http param values (JRPPC/JRPPO) Priority: High Details: A problem with URL encoding was causing Reader to remove embedded spaces in http parameter values (only in Pocket PC versions, not in Windows versions). N3.3.25.01 Put focus in date field after exiting calendar to allow clearing it Priority: High Details: Put focus in a date field after exiting calendar to allow clearing it. When entering a date field (by tabbing into it or clicking on it), the date selection calendar opens. If this is cancelled, the datefield value can be manually edited, which includes the ability to delete the date completely, which was formerly not possible. N3.3.24.01 Add SetFocus() methods for button, checkbox, combobox and table. Priority: High Details: Add SetFocus() methods for button, checkbox, combobox and table objects. N3.3.24.02 Support for keyboard operation without a stylus on Pocket PC devices Priority: High Details: Provide support for keyboard navigation on Pocket PC devices without use of a stylus, including: - allow up/down arrows on pda keyboard to move selected row in table up/down - if this moves off top or bottom, then scroll table up/down a row at a time - allow ENTER key to fire ActionEvent on selected row in a table with focus - allow TAB key to tab through ALL components including comboboxes and tables - don't fire ActionEvent on every up/down arrow keypress in combobox list - when a frame is first viewed, set focus to the first editable component N3.3.24.03 Support for Windows Mobile 5 on Pocket PC devices Priority: High Details: Added support for Windows Mobile 5 on Pocket PC devices by creating new ReaderPPC5.exe and ReaderPPO5.exe versions. Older versions of Reader only work on WM5 if no images are displayed, because WM5 completely changed the APIs for image handling routines in the operating system. N3.3.24.04 New sys methods LoadWaitCursor() and LoadArrowCursor() methods. Priority: Medium Details: New sys.LoadWaitCursor() and sys.LoadArrowCursor() methods to display a "busy" image or normal "arrow" image as the system cursor. On PocketPC devices, the wait cursor is the standard multi-colored PPC "circle". On a desktop system it is the standard Windows hourglass. N3.3.21.01 New sys method Quit() to terminate Reader completely Priority: High Details: New sys.Quit() method terminates the Reader process completely. It does not return to the initial ApplicationMenu.xml as sys.Exit() does. N3.3.20.01 New frame.DoLayout method Priority: High Details: New frame.DoLayout() method is used when changing the system default font or other component display attributes (see below). This method causes Reader to recalculate all component size values in a previously rendered frame, unlike SetVisible() which uses cached values for font sizes etc. N3.3.20.02 New sys method SetDefaultFont(fontname, size) Priority: High Details: New sys.SetDefaultFont(fontname, size) method to set the default font typeface and size used for text displays in all Jargon Reader components. N3.3.20.03 Support for table scrolling via mouse scroll wheel (JRWIN) Priority: High Details: Added support for table scrolling via a mouse scroll wheel in Windows version. D3.3.24.01 RemoveAllItems fails on table loaded from cache and not yet viewed Priority: High Details: If a table has non-empty rows and is saved in a cached dom file, when the app is re-opened and a table.RemoveAllitems() is done to the table, it will fail if the frame containing the table has not yet been viewed in this session. However if the frame is viewed first and then another frame is viewed, it works. Also, attempting to clear the table within the init function also fails similarly. D3.3.24.02 Append methods only work if text component is visible Priority: High Details: Both the client and host append methods only work correctly if the text component is in a container that is currently visible. The first settext or append works for non-visible components, but all subsequent append methods fail. D3.3.22.01 Reader crashes when trying to free a 41-col table while terminating. Priority: High Details: Reader crashes when trying to free a table of 41 columns while terminating. D3.3.18.01 Reader crashes on attempted close during an http request Priority: High Details: Reader crashes if an http request is started that does not get an immediate response (e.g. if the server is not responding), then is exited (either using an "Exit" button that is linked to a sys.exit() method, or by hitting the window close button). The crash occurs because there is an active thread trying to process the HTTP request when the application is terminated. Code was added to terminate the request if the window close button is pressed (same as clicking on the stop sign). This will work even if the stop sign is hidden. ----------------------------------------------------------------------- JR VERSION 3.3.17 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES: --------------------------------------------------------------- N3.3.17.01 Allow up to 50 tables for all combined running apps (JRALW) Priority: High Details: Increased the maximum number of tables that can be used (combined total in all open xml apps) from 25 to 50. N3.3.17.02 New SetBounds method for signature capture. Priority: High Details: Added new SetBounds method for signature capture, to specify the x/y coordinates and width/height of the signature capture window (in pixels). N3.3.17.03 New SetStopButtonVisible method for http requests Priority: High Details: Added new http method SetStopButtonVisible to view or hide the "Stop" button that is displayed on the status line at the bottom of the screen during http requests. This method can be used to prevent a user from manually halting an http request. ----------------------------------------------------------------------- JR VERSION 3.3.16 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.3.07 - 3.3.15): --------------------------------------------------------------- N33.xx (No number) New host "jsi" append methods for text components (JRALW) N33.xx (No number) New ftp method to suppress "no file" errors on Gets (JRALW) N33.xx (No number) Client/host enable/disable methods for input objects (JRALW) N33.xx (No number) New jsifile methods for UUEncoding and reading files (JRALW) N33.xx (No number) Increase size of http request buffer (JRALW) N33.xx (No number) Implement ActionEvent on double-click of table row (JRALW) N33.xx (No number) New method to move and resize a frame (JRALW) ----------------------------------------------------------------------- JR VERSION 3.3.06 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.3.02 - 3.3.05): --------------------------------------------------------------- N33.xx (No number) Corrects SSL http request functionality (JRALW) N33.xx (No number) Use shortcut folder as working folder (JRPDA/JRWIN). ----------------------------------------------------------------------- JR VERSION 3.3.01 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.2.55 - 3.2.60): --------------------------------------------------------------- N32.xx (No number) Support for multi-byte/Unicode languages (JRALW) N32.xx (No number) Support for Windows XP Native Theme (JRPDA/JRWIN) N32.xx (No number) Change ftp get/put methods to return success status (JRALW) N34.25 Tree and TreeNode - all V2 features (JRALW) D32.53 Button with no label causes Reader to fail when rendering frame (JRALW) D32.54 New button label only displayed with frame.SetVisible(true) (JRALW) D32.57 SetRowVisible scrolls to last row in some cases (JRALW) D32.58 Append method inserts new data before last character in old value (JRALW) ----------------------------------------------------------------------- JR VERSION 3.2.54 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.2.48 - 3.2.53): --------------------------------------------------------------- D32.56 table.RemoveAllItems() should reset VSB to top (ALL) N32.xx (No number) Implement horiz/vert fill on all components (JRALW) N32.xx (No number) New "jsifile" methods to copy/delete/move/rename files (JRALW) N32.xx (No number) Specify starting folder for GetOpenFileName etc.(JRWIN) N32.xx (No number) New "irda" object and methods for using Infrared port (JRALW) N33.01c New methods to create and apply fonts to text components (JRALW) N33.17 New serial callback method runs when specified string is received (JRALW) N33.17a Support for all serial "COM" ports in serial port open method (JRALW) N33.20 New sys method to run callback function when a timer fires (JRALW) ----------------------------------------------------------------------- JR VERSION 3.2.47 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.2.41 - 3.2.46): --------------------------------------------------------------- D32.xx (No number) FTP downloads create a cached copy of file (JRALW) N33.09 Trap HTTP Send Errors and Cancel HTTP Requests (JRALL) N32.xx (No number) Display a frame status message for several seconds. (JRALW) ----------------------------------------------------------------------- JR VERSION 3.2.40 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.2.32 - 3.2.39): --------------------------------------------------------------- D32.46 combobox event that views a new frame blows up (JRALL) D32.47 preference.SetProperty truncates existing properties (JRALL) D32.50 combobox will not drop down if frame resized (JRWIN) D32.51 http.AddParam fails if all characters need URL encoding (JRALL) D32.xx (No number) Slow layout with button images (JRALW) D32.xx (No number) Unable to access files on Win2003 servers (JRALL) N34.06 Card Panel and Card (JRALW) N32.xx (No number) New textarea and textfield methods (JRALL) N32.xx (No number) New "psc" barcode scanner object and methods (JRPSC) N32.xx (No number) Added "passive mode" parameter to ftp methods (JRALW) N32.xx (No number) Added FocusGainedEvent and TabEvent to text components (JRALW) ---------------------------------------------------------------------- JR VERSION 3.2.31 INCLUDED THE FOLLOWING NEW FEATURES AND DEFECT FIXES (INCLUDES CHANGES IN INTERIM VERSIONS 3.2.25 - 3.2.30): ---------------------------------------------------------------------- D32.32 XML parser mixed up by literal '