Mit dieser Methode kann ein Objekt und seine zugeordneten Unterklasse dupliziert werden. Wichtig: Es werden keine neue Instanzen der Objekte angelegt. Lediglich die ID Property der jeweiligen Instanz wird auf 0 gesetzt. Dies führt bei einem Aufruf der Methode Save…
uses Windows, Messages; In Event OnSelectItem des ListViews einfügen: // Schalte das Focusrect ab bei dem selektierem Eintrag lvDevices.Perform(WM_CHANGEUISTATE, UISF_HIDEFOCUS + $10000, 0);
SetBkMode(Canvas.Handle, TRANSPARENT); Muss in TListView OnDrawSubItem verwendet werden, wenn per Canvas.TextOut(); ein transparenter Text ausgegeben werden soll. Das Konstrukt: Canvas.Brush.Style:=bsClear; zeigt keine Wirkung!
Die Klasse TStorableObjectAddInfo ermöglicht es zu einem StorableObject Zusatzinformationen in Form einer Zusatztabelle zu speichern. In dieser Zusatztabelle werden solche Information wie Führungstext, Reihenfolge, Darstellungsformat, Standardwert etc. abgelegt. Um einem StorableObject Zusatzinformationen zu zuweisen muss zuerst eine Zusatzinformationsklasse von TStorableObjectAddInfo …
Die Methode <ClassName>.InitTable erstellt die für eine Klasse benötigten SQL Statements für SELECT, INSERT, UPDATE und DELETE. Weiterhin wird geprüft ob die Tabelle existiert bzw. ob neue Tabellenfelder hinzu gekommen sind. Entsprechend wird die Tabelle per CREATE TABLE erzeugt …
Die Komponente TSOView aus der Unit SOViewUnit ermöglicht es den Inhalt eines Objektes das von der Klasse TStorableObject abgeleitet wurde inhaltlich anzuzeigen. Es werden entsprechend der vorgegeben Datentypen Eingabefelder, Checkboxen, Datum-Auswahlfelder und Auswahllisten automatisch erzeugt. Eventuell benötigte Lookup-Listen für die …
Die Klasse TStorageProvider ist das Verbindungsglied zur Kommunikation der StorableObjects zur Datenbank. TStorageProvider kann nicht direkt verwendet werden, da diese Klasse nur als Vorlage für konkrete Implementation für verschiedene Datenbankzugriffskomponenten dient. Im Moment werden die dbGo (ADO), UniDAC und SDAC…
Mögliche Werte für Flags bei einer Felddefinition: sflReadOnly = Feld ist nur lesbar. Wird bei einem UPDATE bzw. INSERT nicht berücksichtigt. sflPrimaryKey = Feld enthält den Schlüsselwert für die Tabelle. sflForeignKey = Feld enthält den Fremdschlüsselwert für die Tabelle. sflJoin…
Folgende Datentypen unterstützt SO: ftAutoInc = Feld enthält den Primarykey bzw. ist ein Autowert. ftInteger = Feld ist vom INT bzw. INTEGER ftString,ftWideString = Feld ist vom Typ VARCHAR oder CHAR ftMemo = Feld ist vom Typ BLOB bzw. MEMO…
Eine Auswahlliste für ein Eingabefeld erstellen: Definition der Klasse die die Elemente der Auswahlliste enthält: TUser = class(TStorableObject) private sName : String; public [SOFieldAttribute('USERS.USR_ID', ftAutoInc, 0, [sflPrimaryKey])] property ID; [SOFieldAttribute('USERS.USR_NAME', ftString, 50)] property Name : String read sName …