What’s New in UniPlot 4.2.5

This page describes the changes made to UniPlot 4.2.5 since version 4.2.4.

New Features

  • MDF-Files (INCA): The display identifiers can be used as a channel names (see Import of MDF Files). The option can be set in the Tools=>MDF Configuration dialog box if the MDF addin is loaded.

New UniScript Functions

None.

Modified UniScript Functions

  Changed Functions in UniPlot 4.2.5
DialogBox DialogBox creates a dialog box with static text, edit fields, list boxes, combo boxes, check boxes, a report list (list with multiple columns), a property list box, a group box, tree control and buttons.The dialog box can be configured to be resizeable (see Dialog control |F @ xxx_callback|).

Bug Fixes

The following bugs have been fixed:

  • (ID882): poly_triangulate had two errors. 1.) For certain distributed data the function caused a memory access violation, for example poly_triangulate([0,0,1,1],[0,1,0,1]). 2.) The error handling was different than described in the documentation. In case of an error the function returns a string vector with two elements. The first element is the error id and the second element the error text. (This bug was incorrectly marked as fixed in UniPlot 4.2.4)

  • (ID900): The AppQuit function had an error. UniPlot goes into an infinite loop when the function is invoked and UniPlot hangs.

  • (ID902): Debug-Tooltip: If the cursor was placed while debugging on a real variable with exactly 40 rows and 1 column, the debugger would hang and cause an endless loop.

  • (ID903): Load 3D-Hull: If the third column was invalid the command failed without an error message. In UniPlot 4.2.5 an error message will be displayed and all values will be set to “m”.

  • (ID917): The obj_save function did not save variant matrices with strings correctly. Example: In the following code:

    o = [.a = [1, "2"]];
    o.save("c:/test.xml");
    

    string “2” was not saved in the file.

  • (ID964): ltostr created an incorrect result string for negative values for base 10.

  • (ID966): NC-Brower: If the channel attribute C_format = “” was empty an empty field was displayed. UniPlot 4.2.5 will display the value in the default format if the string is empty (see File=>Import Options).

  • (ID974): Error in documentation of fwrite: The data type “real48” can only be read (see fread) and not written.

  • (ID986): A memory access violation could occur if huge matrices were assigned to a variable.

    Example:

    a = zeros(1,1e6) // Works!
    a = zeros(1,1e8) // Does not work. a will be destroyed.
    

    The next access to a would create a memory violation.

  • (ID991): Data Exchange: If a channel contained only invalid values (missing_value) the data exchange was aborted. In UniPlot 4.2.5 the data of 1D and 2D datasets is set to 0;0 and the data exchange is continued. For 3D datasets the data exchange will be aborted.

  • (ID992): MDF-Format: If the channel name in the MDF file was not null-terminated parts of the following channel comment would be added to the channel name. This bug occurred if the channel name in the MDF file was 32 characters long.

  • (ID995): smMat = ExcelRead(): To convert real numbers, the format sting “%g” was used. In UniPlot 4.2.5 the format string %.16g is used. Otherwise the OLE date/time values were converted incorrectly. If ExcelRead returned a date/time string the return value was, for example, 38500 instead of 38500.423.

  • (ID996): o = error_create("a",1,"b") was treated incorrectly by the garbage collector. The strings in o were deleted but the object was still valid.

id-2045184