RecView – Grundlagen (Teil1)

Das RecList-Objekt zur Anzeige von Datensätzen ist seit Jahren integraler Bestandteil der Objekt-Palette von CONZEPT 16. Das von Grund auf neu entwickelte RecView-Objekt löst sich erst seit ein paar Wochen aus dem Schatten seines Vorläufers.

Bei der Erstellung im Designer sehen die beiden Objekte zunächst optisch fast identisch aus. Auch die enthaltenen Objekt-Eigenschaften sind weitgehend dieselben.
Doch haben wir bei der Entwicklung des neuen Objektes einige Aspekte der RecList näher untersucht und beim Design verbessert.
Der vorliegende erste Teil befasst sich mit der Verwendung von Datensatzpuffern.


Beim Durchstöbern der Eigenschaften des RecView fällt zunächst auf, dass die Eigenschaft wpDbRecBuf nicht mehr existiert. Da die RecList zur Anzeige von Datensätzen die globalen Datensatzpuffer liest, verändert sie diese zugleich auch. Die Eigenschaft wpDbRecBuf war deshalb notwendig, um die Feldpuffer sichern und wiederherstellen zu können. Wurde die Eigenschaft nicht verwendet, dann konnte das zu ungewollten Seiteneffekten führen, insbesondere wenn die Applikation umfangreich ist und mehrere RecList-Objekte verwendet werden.

Das RecView-Objekt verwendet im Gegensatz zur RecList eigene Datensatzpuffer und verändert nicht die globalen Felder.
Das folgende Beispiel zeigt, was gemeint ist:
(Die komplette Datenbank finden Sie übrigens als Download am Ende des Artikels)

@A+
@C+
//@define REC_VIEW_TEST
sub EvtCreated
(
  aEvt                 : event;    // Event
)
: logic;
{
  WinDialogBox(0,'ART.iNummer',CnvAI(ART.iNummer),
               _WinIcoInformation,_WinDialogOk,1);
  return(true);
}
main
{
  ART.iNummer # 1;
@ifdef REC_VIEW_TEST
  WinDialog('RecViewTest',_WinDialogCenterScreen);
@else
  WinDialog('RecListTest',_WinDialogCenterScreen);
@endif
}

Das Beispiel lädt in Abhängigkeit des Makros REC_VIEW_TEST entweder einen Dialog mit einer RecList (Abb. links) oder mit einem RecView (Abb. rechts).

RecList und RecViewVergleich RecList mit RecView

Der globale Feldpuffer ART.iNummer wird vor dem Starten des Dialoges auf den Wert eins gesetzt. Wenn die Prozedur durchgeführt wird, erscheint das folgende Meldungsfenster:

RecList Meldungsfenster

Wie zu sehen ist, enthält ART.iNummer nun den Wert des letzten sichtbaren Satzes in der RecList. Beim Aufbau werden also die globalen Feldpuffer der verwendeten Datei verändert.
Wird das Makro definiert, die Prozedur übersetzt und ausgeführt, erscheint jetzt folgende Meldung:

RecView Meldungsfenster

Der globale Feldpuffer ART.iNummer enthält jetzt weiterhin den Wert eins.
Dies ist deshalb der Fall, da das RecView intern zwei eigene Datensatzpuffer verwaltet. Der zweite ist notwendig für die Anzeige von verknüpften Datensätzen (Eigenschaft wpDbLinkFileNo).

Ausblick

Im nächsten Teil werde ich näher erläutern, welche Unterschiede bei der Programmierung, im Hinblick auf Datensatzpuffer zu berücksichtigen sind.

Download

Beispieldatenbank RecView.zip (32.47 KB)
Sie müssen angemeldet sein, um die Datei herunterladen zu können.

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Wünsche, Fragen oder Feedback sind willkommen:

Nutzungsbedingungen der Kommentarfunktion im Blog

1. Allgemeines

Vectorsoft AG („Anbieter“) stellt für Internetnutzer („Nutzer“) auf der Website
vectorsoft.de einen öffentlichen Blog bereit. Der öffentliche Blog dient dem
Informations- und Gedankenaustausch. Die Nutzer, welche sich mit Beiträgen und
Kommentaren beteiligen, verpflichten sich dazu, die Blog-Nutzungsbedingungen
einzuhalten und tragen die Verantwortung für die Richtigkeit und Angemessenheit
sowie Freiheit von Rechtsverletzungen ihrer Beiträge. Mit Nutzung der
Kommentarfunktion in unserem Blog akzeptieren Sie diese Nutzungsbedingungen.

2. Netiquette

Wir bitten Sie von persönlichen Angriffen und Provokationen aufgrund anderer
Meinungen abzusehen. Bitte argumentieren Sie sachlich und bewegen Sie sich auf
der Basis einer konstruktiven Diskussionskultur. Ihr Kommentar sollte stets im
Zusammenhang mit dem jeweiligen Thema sein, um Ausschweifungen in andere
Themenbereiche zu vermeiden. Das mehrmalige Posten desselben Kommentars
oder mehrerer ähnlicher Kommentare ist nicht erlaubt.

3. Verbot rechtswidriger Inhalte

Mit Absenden Ihres Kommentars bestätigen Sie, dass Sie keine Urheberrechte oder andere Rechte Dritter verletzen. Volksverhetzende, rassistische Äußerungen, Anleitungen zu Straftaten und deren Verherrlichung, Gewaltdarstellungen, pornografische Inhalte und Äußerungen, die Persönlichkeitsrechte verletzen sind untersagt.

4. Keine Werbung

Die Nutzung der Kommentarfunktion ist für kommerzielle oder parteipolitische
Zwecke nicht erlaubt. Werbliche Beiträge aller Art werden von uns umgehend
gelöscht.

5. Angaben zum Namen

Bei der Eingabe Ihres Namens achten Sie auf die zuvor genannten Grundsätze.

6. Quellenangaben

Bitte geben Sie bei der beabsichtigten Veröffentlichung von Zitaten oder Beiträgen
Dritter die jeweiligen Quellen an und erläutern dessen Bezug zum Blogbeitrag.

7. Verstoß gegen die Nutzungsbedingungen

Beiträge, die gegen diese Richtlinie verstoßen werden umgehend gelöscht. Sollten
Sie selbst Verstöße bemerken, so senden Sie uns bitte den Link des betreffenden
Kommentars per E-Mail an . Wir weisen ausdrücklich daraufhin, dass wir einzelne Nutzer bei wiederholten oder schweren Verstößen gegen diese
Nutzungsbedingungen ausschließen werden.

Stand: Sept. 2024

Deine Trial Version - jetzt anfordern!

Teste yeet - unverbindlich und kostenfrei

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner