Table of Contents

Neuheiten Framework Studio 4.3

Informationen zu aktuellen Versionen und korrigierten Fehlern finden Sie in den Release-Informationen.

Statisches Caching an Components (Static Cache)

Framework Studio wurde um einen statischen Caching-Mechanismus erweitert. Wird dieser für eine geeignete Component aktiviert, so können Daten statt von der Datenbank aus diesem Cache geladen werden. Dadurch sind erhebliche Performance-Vorteile möglich.

Details sind im Kapitel Statisches Caching beschrieben.

Umstellung auf PropertyChanged

Die Framework Studio Components implementieren jetzt das Standard-Interface INotifyPropertyChanged.

Details sind im Kapitel PropertyChanged beschrieben.

Ggf. sind Anpassungen im eigenen Code notwendig. Bitte beachten sie dazu die Hinweise für die Umstellung.

In diesem Zuge sind einige weitere Änderungen vorgenommen worden:

Das Databinding in den Forms wurde komplett neu entwickelt. Das bringt unter anderem die folgenden Vorteile:

  • Deutlich weniger Code und deutlich kleinere Assemblies (ca. -30%)

  • Bei der Änderung von Werten wird für die Aktualisierung der Control-Inhalte am Ende des Requests jeder Wert nur einmal neu gelesen. Das gilt auch, wenn ein Property im Laufe des Requests mehrfach geändert wurde. Im Einzelfall kann das eine signifikante Steigerung der Performance bedeuten.

Verhaltens-Änderung bei der SelectedRowsCollection

Die an einem Grid gebundene Objekt-Collection und SelectedRowsCollection haben in der Vergangenheit eng zusammengearbeitet. Werden Records aus der Collection gelöscht oder eine neue Collection zugewiesen, dann werden aus der SelectedRowsCollection unmittelbar die entsprechenden Einträge entfernt. Das war möglich weil jede Änderung sofort vom Data-Binding übernommen wurde. Der neue asynchrone Ansatz im Data-Binding verhindert dies erst einmal.

Damit bestehende Logik, die heute diesen Mechanismus voraussetzt, weiterhin funktioniert, wurde er im neuen Data-Binding nachgebaut - allerdings mit einer kleinen Einschränkung:

Warning

Weist man im Form eine neue Objekt-Hierarchie zu, die ihrerseits die Objekt-Collection für das Grid beinhaltet, dann wird die SelectedRowsCollection nicht automatisch geleert. Das muss in diesem Fall manuell durchgeführt werden.

Deprecated Eigenschaft LabelOfControl

Die Unterstützung für die Control-Eigenschaft LabelOfControl, die teilweise noch im Hintergrund gezogen hat, wurde entfernt. Siehe LabelOfControl Cleanup.

Intellisense mit Roslyn

Das Intellisense im Code-Editor wurde komplett überarbeitet. Es setzt jetzt mit "Roslyn" auf dieselbe Technologie auf wie das Intellisene von Visual Studio.

Folgende Features werden jetzt unterstützt (Auszug):

  • Lambda-Expressions (Linq)
  • Generische Typen
  • var schlüsselwort
  • Überladene Methoden werden korrekt aufgelöst
  • GoTo Definition für Form-Controls
  • uvm ...

Im Code-Editor werden Compile-Error und Warnings während dem Tippen direkt im Code markiert. Die Details des Errors werden in einem Tooltip angezeigt.

Export von Tabellen Beschreibungen

Im HTML-Export der Dokumentation gibt es eine neue Option Export DB-Tables. Diese integriert die Beschreibungen aller Datenbank-Tabellen.

Beim Export über die FSConsole kann das über den Parameter \ExportDBTables gesteuert werden.

Im PBE kann dieser Export automatisiert werden.

Menü Änderung beim Anlegen von Properties und Methods

Beim Anlegen neuer Methoden in Forms oder Components wird nun in den Menüs abgefragt, ob diese als Public Method oder Protected Method angelegt werden sollen.

Ferner gilt diese Regelung auch für Properties in Forms. Bei den Properties in den Components kann zwischen einer, wie bisher standermäßgen Public Property und einer Membervariable unterschieden werden. Eine Membervariable wird automatisch als Protected angelegt.

Weitere Neuerungen

  • Beim Export des Wörterbuches kann man die direkten Verwendungen der einzelnen MLKeys als Kommentar exportieren. Dazu gibt es im Export-Dialog eine neue Checkbox Include usings.

  • Copy&Paste ist kompatibel bis einschließlich Framework Studio 3.11. Mit älteren Versionen von Framework Studio können per Copy&Paste keine Element-Informationen mehr ausgetauscht werden.

  • In der Registerkarte Set Method kann bei Component Properties vom Typ Individual die generierte Prüfung auf den Getter der Checkbox Check before set unterbunden werden. Eine Prüfung findet standardmäßig statt, weshalb die Checkbox per default gesetzt ist.

  • Die Registerkarte Description bei den Components wurde in General umbenannt. Ab der neuen Version befindet sich hier eine zusätzliche Checkbox Autogenerate Membervariable. Diese Checkbox wird ausschließlich bei Individual und Individual (readonly) Properties angezeigt und generiert sowohl eine Membervariable als auch ein Depends On Property, sobald sie gesetzt wird. In die Registerkarte General wurden ferner die Textfelder Display MinLength, Display MaxLength, Display MinLines und Display MaxLines und die Comboboxen Mapping und Drag Source verschoben. Des Weiteren können Sie wie gewohnt im Textfeld Description eine Beschreibung hinzufügen.

  • Mit der Taste F1 kann im PropertyGrid für ein selektiertes Property, für welches eine Definition vorliegt, die Dokumentation geöffnet werden.