Skip to content

Bugs Fixed in 18.1

Database Builder

Conversion Wizard: Scroll bar does not work on Summary page

Bug 6715, reported by Quality Assurance
When converting tables to SQL, the wizard in Database Builder displays a Summary page before proceeding with the conversion.

The scroll bar on that page does not work, and if we are about to convert a lot of tables (over 100), we cannot scroll to read the whole summary.

To reproduce:
- Use the attached view in Order Sample to create tables in the filelist.
- Run the conversion wizard.
- Select all tables to be converted.
- Click Next until getting to the Summary page and attempt to scroll the edit control.

Conversion Wizard - Drop downs for selecting index don't work

Bug 6714, reported by Clive Richmond
When converting tables to SQL, the wizard in Database Builder displays a page where primary indexes can be selected. The interface is a grid containing combo forms for the index selection.

Indexes could not be selected using the drop-down combo.

To reproduce:
- Run the conversion wizard.
- On the "Define recnum table conversion" page, check "Convert recnum tables to standard tables".
- On the grid, use the combo forms to select a primary index for each table.

When you click the down arrow with the mouse to choose an index, the dropdown does not work. Up-arrow and down-arrow keys do work.

Debugger

Object Method Expression on Watch Window may change values of other variables in running program

Bug 6769, reported by Quality Assurance
When the debugger is in break mode, each step causes all expressions in the watch window to be evaluated. An invalid expression fed through the runtime's expression evaluator, which is common, will return an error to the debugger, which is desired. In some cases, the error might also set the global Err variable in the runtime being debugged, which is not desired. If you are watching Err, the value will always show true.

To reproduce:
1. Add a breakpoint and run to the breakpoint. Right before the breakpoint, add a line:

Move False to Err
2. Add Err to the watch window.
3. Add a valid global expression to the watch window (e.g., Left("john", 3)).
4. Add a valid method expression to the watch window (e.g., Name(self)).

This should all work. Err will be false, and as you single step through your code, it should remain false. You can set Err to True in the watch window, and it should remain true. It won't change unless something in your code actually changes this.

  1. Now add an invalid method expression to the watch window. Something sensible that just won't resolve in the current scope (e.g., psLabel(Self)).

Now you should start to see problems. Err will probably be true and will get set to true with each single step. For example, setting Err to false in the watch window might work until you single step. Then it will be set to true.

Debugger changes global Err variable when evaluating them for watches

Bug 6768, reported by Quality Assurance
Watching the Err variable does not provide reliable results in the debugger.

When evaluations in the watch windows are executed, they may execute through the runtime. This happens when you evaluate a function or object property. When a watch that cannot be evaluated (which is pretty common) goes through the runtime, the eval error was setting various error variables (like Err), which meant that the debugger had the capability of changing the state of the debugged application. Those error variables are now properly restored.

More simply described, the Err variable can now be reliably used in the debugger watch window.

Packages

cWebList: If you enter a proper search date it doesn't find anything

Bug 6836, reported by Frank Valcarcel
You can't search for items in a list by date. The attached sample view is for WebOrder and it changes the SalesP field to Orderhea.Date. There seem to be two unrelated issues:

If you enter a proper U.S. search date (e.g., 11/11/2012), it doesn't find anything. The reason for this is the value returned in OnSearch is a universal date value (yyyy-mm-dd) which does not convert properly to our representation of a date value. I'm guessing this needs some kind of ConvertFromTransport conversion, but I am not sure what the implications of this are.

ErrorNum.inc includes commas when it should not

Bug 6817, reported by Quality Assurance
Line 373, 374, and 375 contain a comma after the constant which should not be there.

So:

#Replace DFERR_INVALID_DATETIME, 4523
#Replace DFERR_INVALID_TIMESPAN, 4524
#Replace DFERR_INVALID_TIME, 4525
Needs to be changed to:
#Replace DFERR_INVALID_DATETIME 4523
#Replace DFERR_INVALID_TIMESPAN 4524
#Replace DFERR_INVALID_TIME 4525
There was also a period at the end of DFERR_COMP_AMBIGUOUS_SYNTAX that should not have been there either.

Incorrect DateTime format in dbForm with Form_Mask set to 'dd-mm-yyyy hh:mm'

Bug 6789, reported by Martin Pincott
A DateTime type using a Form_Mask displays incorrect information in dbForms.

It's 2014-12-02 12:14:56.313 on a standard dbForm, but it shows as 02/12/2014 00:14:56.

12 hours out.

Test code is attached.

The Data Dictionary Inspector (DD_Debug.dg) does not display extended column attributes

Bug 6770, reported by Clive Richmond
The extended column attributes in DD_Debug.dg are not displayed if they exist. The code in line 876:

Get Field_Validation_Type Of hDD iItem To sType
should read:
Get Field_Validation_Type Of hDD iItem To iType
The attached images demonstrate the before and after effect of this change.

Also, may I suggest that the existing column padding and the associated display be modified to reflect the longer column names introduced in VDF 17.0?

Request_Assign needs to save and restore the current Operation_Mode

Bug 6767, reported by Raveen Ryan Sundram
Request_Validate and MODE_VALIDATING are special. All of the other DDO Request messages do not allow you to send other Request DDO messages; they are non-reentrant.

You can do this with Request_Validate, and when Request_Validate calls the other non-reentrant DDO request messages (Request_assign, Request_Find, Request_Save, etc.), the Operation_Mode and Operation_Origin values set when Request_Validate is called are cleared.

The Operation_Mode should remain MODE_VALIDATING, and Operation_Origin should be whatever it was. Instead, they are reset to MODE_WAITING and 0.

MODE_VALIDATING is the only mode that allows other DDO Request calls, and it was never expected that those calls would be made. Under certain conditions, it might be appropriate to make find requests inside of Request_Validate (Request_Find, FindByRowId, Request_Assign, Request_Clear, etc.), but it should be done very carefully. Calling Request_Delete and Request_Save should be avoided.

To Test in the ORDER ENTRY workspace:
1. Add the following code to OrderDtl.DD:

Function Validate_Price Integer iField Number nAmt Returns Integer
Handle hoInvt

Showln "BEFORE Validate_Price.Operation_Mode=" Operation_Mode
Get Which_Data_Set Invt.File_Number to hoInvt
If (hoInvt) Send Request_Assign Invt.File_Number
Showln "AFTER Validate_Price.Operation_Mode=" Operation_Mode
Function_Return 0
End_Function
2. Add Set Field_Validate_msg Field OrderDtl.Price to get_Validate_Price to the DD.
3. Recompile.
4. Find an Order.
5. Change "Price" on any row.
6. Save the line.
7. View the "Output Window".

DbSuggestionForm.pbCaseSensitive does NOT work with SQL Tables

Bug 6755, reported by Raveen Ryan Sundram
DbSuggestionForm.pbCaseSensitive does NOT work with SQL Tables.

We found that if pbFullText=True and the Table is a SQL table, then the pbCaseSensitive setting is IGNORED when filtering.

Object oCATSUPPNAME is a DbSuggestionForm
    Entry_Item CATSUPP.NAME
    Set Size to 13 306
    Set Location to 5 28
    Set Label to "Name"
    //  
    Set pbCaseSensitive to False
    Set pbFullText to True
End_Object

In the example above, if I type "NZ", then I get a suggestion list, but if I type "nz", then I get an empty list.

DDRemember does not work with dbComboForms

Bug 6672, reported by Hans van de Laar
If I choose to remember a value in a dbComboForm, I get an error on saving as it should not remember the value, but the code.

Studio Wizards

'Fatal Error: Cannot locate or load WSDLXML document. Root node is not' when parsing WSDL

Bug 6809, reported by Quality Assurance
'Fatal Error: Cannot locate or load WSDLXML document. Root node is not. location = "path/filename.wsdl"' when parsing WSDL that tries to load additional external WSDL files.

This was reported and tested using a private web service that can only be accessed via a user account with the service provider, as well as a security certificate.

Studio

Cannot cancel Find in Files of Current Project Only files

Bug 6771, reported by Peter Bragg
Clicking the Cancel button in Find in Files doesn't do anything if I select Current Project only files.

Bug 6739, reported by Quality Assurance
In some cases, if a modal dialog (like the About Dialog) is opened in the Studio, after the dialog is closed, then the Studio cannot respond to any clicks except in the menu bar.

This happens when there is no focusable DataFlex object to receive the focus when the dialog is closed (DataFlex modality problem).

To reproduce:
1. Open the Studio with the Order Entry workspace.
2. Close all open MDI tabs. Close all studio docking panels except Code Explorer, Output Panel, and Properties Panel.
3. Close the Studio and then re-launch it. The Studio should be running in the same state you left it. There should be no open MDI tabs.
4. Open the About Dialog, now close the About Dialog.

Now do not click in the menus or anywhere else. Simply try to close the Studio by clicking the top right close button [X]. You should hear an error "ding," and the Studio does not close.

Save flag disappears after attempting to save a source code file and not being able to due to rights

Bug 6592, reported by Rene Jungmann
When attempting to save a file without proper write rights in the Studio, this error comes up:

---------------------------
Studio Error
---------------------------
Cannot save data to file

C:\Visual DataFlex 17.0 Examples\Order Entry\AppSrc\Customer.vw

It is likely that this operation requires elevated administrator rights. You are currently not running as an administrator. Try closing this program, running it as an administrator, and try this operation again.
---------------------------
OK
---------------------------

After clicking OK, the Save flag for the file is cleared. Up to version 17.0, the Save flag stayed on if the Studio was unable to perform the save.

Web Server

'The schemaLocation attribute does not contain pairs of values' error when running a web service

Bug 6821, reported by Quality Assurance
The below error occurs on machines with 8.3 file names disabled.

Error Text:
Application error occurred during processing. Technical details for the site administrator: Internal error: SAXParseException: The schemaLocation attribute does not contain pairs of values. (, line 1, column 220) Please check the Windows event log for further information about the problem.