[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

Bei der CPickField Klasse kann man wie gewohnt je eine Remote View für das Picken (Property cTableName) sowie eine für die Validierung (Property CViewValid) definieren.

Durch das Setzen der Property lUseSpt werden diese beiden Reote Views zur Laufzeit in SPT Anweisungen (inkl. Parameters!) umgewandelt. Als VFX Entwickler braucht man sich hier um keine weiteren Details mehr zu kümmern.

Bei den Grids ist es zur Zeit so, dass diese Technik nur bei "Read Only" Grids funktioniert.

Bei den Comboboxen dient die Property cTableName dazu, den Namen des Cursors, welcher aus der SPT Anweisung für den Rowsource resultiert, festzuhalten.

Die Datenumgebung von Forms

Es ist einleuchtend, dass, je mehr Remote Views in einer Datenumgebung geöffnet werden, die Performance der Anwendung abnimmt. Das Form wird bei mehr Views in der Datenumgebung entsprechend länger zu laden haben. Selbst wenn Sie "NoDataonLoad" anwählen, d.h. dass beim Laden des Forms nur die Strukturen der Remote Views geladen werden müssen, so ist dies dennoch mit einem nicht zu unterschätzendem Overhead verbunden, müssen doch für alle Felder die entsprechenden Attribute vom Server bezogen werden und die Remote View der Struktur entsprechend aufgesetzt werden.

HINWEIS: Auch wenn Sie nicht mit SCX Dateien und Datenumgebungen operieren, sondern stattdessen direkt Ihre Formklassen instantiieren oder die Datenumgebung aus Ihrem SCX entfernt haben und im Load das Öffnen der Daten von Hand oder eine separate DE Klasse bewerkstelligen, gelten diese Ausführungen natürlich sinngemäss weiterhin.

In unserem Client/Server Ansatz im VFX Framework haben wir hierfür eine elegante Lösung gefunden. Wir können mit der Verwendung der Klasse CAskViewArgPgf mit beliebig vielen Remote Views arbeiten, haben jedoch in der Datenumgebung immer nur eine einzige "Platzhalter" Remote View. Erst zur Laufzeit wird die entsprechende View geöffnet und an Stelle der Platzhalter View verwendet. Eine wirklich elegante Lösung um mit sovielen Remote Views, wie nötig, arbeiten zu können, ohne die Performance in irgendeiner Weise negativ zu beeinflussen!

Multi Remote View Ansatz

Wir nennen diesen Ansatz einen "Multi Remote View" Ansatz. Multi deshalb, weil mit beliebig vielen Remote Views in ein und demselben Form gearbeitet werden kann. Die VFX Klasse CAskViewArgPgf nimmt hier eine Schlüsselstelle ein. Im folgenden Beispiel wird die Verwendung der Klasse CAskViewArgPgf erläutert.

Wenn der benutzer ein Client/Server Form, welches mit dem "Multi Remote View" Ansatz implementiert wurde ögffnet, Sieht er sich zunächst mit einem Selektionsbildschirm konfrontiert.

In der oberen Combobox kann der Benutzer wählen, nach welcher Art er seine Daten beziehen will. Je nach Komplexität der Anwendung kann es hierbei durchaus meherer Seiten geben. Jeder angewählte Art entspricht intern einer bestimmten Seite und hat zur Folge, dass eine bestimmte View verwendet wird um die Daten zu beziehen. Das Geniale an diesem Ansatz ist, dass das Grundform dasselbe bleibt, und zur Laufzeit die benötigte Remote View ausgetauscht wird.

[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]