Release Note 016: New Features released on April 18th, 2011

List of new features / functionality


Below is a list of the key features released today:  

  • Change 17420: New property NonUpdatableColumns on SmartDatasetAdapter, Get's/set's Columns that will not get updated by UpdateRow (TRUE)  

    New property ThrowErrorsFromRetrieveData in SmartDatasetAdapter, Gets/Sets if errors from RetrieveData (in childs of this abstract class) should be THROWN or Shown from the DataAdapter class (Using ErrorHelper)   The default is to Show the error message (FALSE), not to throw it.  

    Factory method for IFetchDataRequest objects in SmartBusinessEntityAdapter: Allows creation of alternative implementations of IFetchDataRequest used by RetrieveData and OffEndHandler in preparation of calls to the ServiceAdapter  

  • Change 17411: Bug 2598: Extend .classpath feature to be able to prefix class names (when using .classpath to search just in sub-folders of the working directory). Entries in the .classpath file like the following will provide a more flexible use of the .classpath file.  

    <ClassPathRow DirectoryEntry="Consultingwerk\SmartComponentsDemo" PrefixWith="Consultingwerk.SmartComponentsDemo"/>  

    The PrefixWith entry is optional.  

  • Change 17402: Select All/Select None in Business Entity Tester, simpliefied selection of Tables in BE Tester  
  • Change 17393: Ability to set CustomContext in Business Entity Tester  

  • Change 17390: Bug 2609: Added protected property FilterUsingInnerJoin to the DataAccess class.  Purpose: Instructs the Query-Builder in method BuildQueryString to remove an eventually present OUTER-JOIN keyword from the source default query when filtering on a ceratin table.  Notes: This allows to filter for Customers by SalesRep fields in a Query: 

    • FOR EACH Customer, FIRST SalesRep OF Customer OUTER-JOIN  See Bug 2609 for a detailled discussion on the new functionality  

  • Change 17387: 10.2B03 and 10.2B04 compatible assembly references  
  • Change 17384: SmartBusinessEntityAdapter and SmartDatasetAdapter optimization.  When the current (new) FetchQueryString equals to the last used FetchQueryString, we would be reading the same data again - which is of no use to the user and would only cause additional traffic.  This might have happened on the grand-child DataAdapter of a SmartBusinessEntityAdapter changing the current record.  

  • Change 17381: Logging of ServiceInterface requests  

  • Change 17375: LogManagerErrorHandler that implements IErrorHandler and writes error messages to the client logfile  

  • Change 17374: LogManager method to log Progress.Lang.Error objects to the client log file  

  • Change 17370: Full-Window drag for MessageBox forms  

  • Change 17369: 10.2B04:Fix for  

    System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. 

    • bei Progress.ClrBridge.BrgClrToPro.InvokeMethod(Int32 , Int32 , String , Int32 , Object[] , Int32[] , Type[] , Object )  

      bei Consultingwerk.SmartComponentsDemo.CustomerExplorer.Customer.CustomerDetailForm.OnFormClosed(FormClosedEventArgs ) in AblProxy.cs:Zeile 53.  

      bei System.Windows.Forms.Form.WmClose(Message& m)  

      bei System.Windows.Forms.Form.WndProc(Message& m)  

      bei Progress.Windows.Form.WndProc(Message& m)  

      bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)  

      bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)  

      bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)  

  • Change 17365: Do not delete Forms in OnFormClosed that are modal (started with ShowDialog ()). Typically Dialogs need to return values to the calling Program after they have been closed. This requires that the dialog form is valid after the WAIT-FOR ShowDialog statement. (Follow up on Progress Support Solution p179041).  Dialog Forms are detected using the Modal property.  

  • Change 17360: Ability to configure the default service interface path in products.t  
  • Change 17349: CustomContext support in ServiceAdapter and ServiceInterface  New event AfterInitializeBusinessEntityAdapter of the SmartBusinessEntityAdapter that allows setting of custom / dynamic attributes of the SmartBusinessEntityAdapter used by the lookup control and dialog  

  • Change 17347: BE Designer more solid when session cannot compile (-rr)  
  • Change 17321: Forward the InitializeLayout event of the Lookup's UltraGrid to the Lookup Control  Sample implementation of customized Lookup layout with SalesRep Image column in CustomerViewer  

  • Change 17317: ServiceAdapter calls now directly into proSIretrieve, don't use proSIretrieve1 as an intermediate  

  • Change 17316: Simplified constructor to FetchDataRequest class  

  • Change 17278: Simplify Full-Window drag using Consultingwerk.Util.Forms.FullWindowDragManager.cls  

  • Change 17277: Parenting of Lookup Dialogs to Lookup:FindForm()  

  • Change 17275: Property for custom context in FetchDataRequest and IFetchDataRequest  All properties in IFetchDataRequest are NO-UNDO now.  

  • Change 17263: Ability to override creation and deletion of the SmartBusinessEntityAdapter in the SmartBusinessEntityLookup, ISmartBusinessEntityLookupDialog implementation allowing to use a custom LookupDialog with the SmartBusinessEntityLookup Control  

  • Change 17230: ISmartBusinessEntityLookup interface to allow reuse of the SmartLookupDesignerSupport with alternative implementations of the SmartBusinessEntityLookup  

  • Change 17212: Fixed LookupDialogs and transparency on Windows 7, when Glass effects are turned off.  

  • Change 17211: Fully Qualified (ABL) Interface names in Link.... Includes  Better readability of code.  
  • Change 17210: Bug 2624: Alternative Error Message Handling in Consultingwerk.Util.ErrorHelper  

  • Change 17209: Fix GenericList base method  

  • Change 17201: Simplified: Compare old and new value before raising OnLookupKeyValueChanged event  

  • Change 17190: Set DeleteOnFormClosed = FALSE for Dialog-Forms.  

  • Change 17178: Cleanup for BaseForm instances on FormClosed.  See Progress K-Base Entry ID: P179041  Title: "User Controls that have events attached to them cause parent forms to not get garbage collected"  

    Added a new property that defaults to True DeleteOnFormClosed. This allows to prevent the Form from deleting itself in OnFormClosed.  

  • Change 17176: ViewObjectsForm - a Form that helps to visualize Garbage Collection issues  

  • Change 17171: Additional events for the BusinessEntityDatasetController (support's plugin development)  

  • Change 17170: Plugin Infrastructure for the Business Entity Designer  
  • Change 17167: Fix possible memory leak in BusinessEntity:FetchData by adding a BY-REFERENCE  

  • Change 17165: LogManager:WriteMessage for additional primitive types  

  • Change 17164: LogBuffer method in LogManager: Writes all fields of the Buffer to the client logfile.  

  • Change 17152: Compare old and new value before raising OnLookupKeyValueChanged event  

  • Change 17130: LogManager: AppServers do always have a client logfile, but LOG-MANAGER:LOGFILE-NAME returns ?  

  • Change 17116: Generate XSD from business entity designer  
  • Change 17040: Error-Handing if parent widget not valid in FindChildWidgetByName and FindChildWidgetByType  

  • Change 17012: New Property RetrieveDataOnChangeSortOrder in SmartBusinessEntityAdapter  

  • Change 17009: When QuerySort is set in the PropertyGrid we shouldn't retrieve data in SetQuerySort  

  • Change 17008: Error-Handling FindRowWhere / FindOnServer  

  • Change 16954: Scroll Backwards support with SmartBusinessEntityAdapter, SmartDataBrowser  

  • Change 16953: Support for PreFetchRows  

  • Change 16951: FindLinkedSmartDataBrowser to return a reference to the first linked SmartDataBrowser.  If any.  

  • Change 16948: Handling of remaining errors from FILL (temp-table with no data-source, temp-table with no unique index, ...) 

    This was required due to the fix/workaround for Bug 2416 (OpenEdge core issue).  

  • Change 16940: By default, joined data-source queries should join to the first, not the previous table.  
  • Change 16924: Relation fields picker  
  • Change 16916: Locally scoped buffer for collection temp-tables.  
  • Change 16902: Design time interfaces renamed, Bug 2601 

    see ReleaseNote015  

  • Change 16890: DataRelationFields Service  

  • Change 16889: Popup DATA-RELATION Editor after relation had been created  
  • Change 16885: When field names are modified due to custom name pattern, make sure, Index members are modified as well.  
  • Change 16884: New (Data Bindable) Property LookupKeyValue on the SmartBusinessEntityLookup Control  Enhancements to the ICustomTypeDescriptor implementation: 

    • - Bindable Attribute  - Category Attribute  - Description Attribute  
  • Change 16883: In EndInit the LaunchDatasetController should not be created, when there is already an instance. This could be the case, when a SmartBusinessEntityAdapter instance is used in a Form that's a base Form of another Form and a DatasetController is used.  

  • Change 16874: Replaceable FieldNameGenerationService, that allows to customize the name generation for temp-table fields  

  • Change 16871: Ability to pre-fetch rows on FindRowWhere on server  

  • Change 16869: Deletion of fields and indexes from design  Fixed Focus Issue so that after selecting a Table the Delete key will work without clicking on the table a second time.  
  • Change 16838: Tab order of SourceBufferName fixed  

  • Change 16828: Non-UltraControls version of the Business Entity Tester is no longer supported and hence removed from the deployment (depricated). The UltraControls version of the Business Entity Tester has the same functionality.  

  • Change 16827: Ability to terminate Business Entities from BE Tester  
  • Change 16826: Generation of unique Buffer-Names in BusinessEntityGenerator  

  • Change 16820: Time stamp in generated DataAccess object  

  • Change 16819: Generate field mapping in ATTACH-DATA-SOURCE  
  • Change 16816: Renamed SmartBusinessEntityAdapterDesigner_ShowBusinessEntityTablePicker.p to SmartBusinessEntityAdapterDesigner_ShowBusinessEntityTablePic.p as the name (including DOT and extension exceeded 64 characters and that caused problems with the Progress xcode utility on UNIX)  Rename/move file(s)  

  • Change 16808: Maintenance of SourceBufferNames  

  • Change 16803: Populate source column when adding tables to the Dataset  
  • Change 16791: Bug2583: Only modify DataSource property of SmartDataBrowser with a valid bindingsource in AttachBindingSource  

  • Change 16783: Eliminate DOT (not likely to happen, yet illegal in Control names), see Bug 2587  :U  
  • Change 16757: Bug 2581, Bind to Value Property for Character fields as well  
  • Change 16743: Fixed invalid-handle error from FindRecord in Consultingwerk.OERA.DataAccess  

  • Change 16707: StyleLibraryHelper  

  • Change 16698: FindRowWhere with ability to reposition on the backend, inital implementation. Supports backwards batching - however this will probably require additional tweaking on the SmartDataBrowser (ultragrid's end).  

  • Change 16693: Bug 2582: Fixed Error when saving changes in Business Entity Designer with BE Name containing "BY"  
  • Change 16671: CATCH Exceptions from nested setting of Sort 

    Can't modify the sorted columns collection while in the BeforeSortChange event  

  • Change 16665: Ensure unqiue names for DATA-SOURCE object definitions  
  • Change 16660: Begin update state after invoking dialogs from Viewer  
  • Change 16659: Change blank temp-table path when dataset path changes  
  • Change 16625: Compilation from Business Entity Designer  
  • Change 16620: SmartViewerControl Design: Ability to override CreateControl/CreateLabel by extension in a derived (customer specific) class.  

  • Change 16614: Fixed ability to add a second source table to a temp-table  
  • Change 16573: Generic List implementation  
  • Change 16545: Query Runtime Statistics in Business Entity Tester  
  • Change 16544: Helper class to query database performance  
  • Change 16497: Call RejectNonCreateChanges in CATCH Block, when ServiceAdapter:SubmitData throws an error.