AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Aufgaben mit LiveBindings und Delphi-DB's erledigen

Ein Thema von Harry Stahl · begonnen am 2. Mai 2016 · letzter Beitrag vom 10. Mai 2016
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.738 Beiträge
 
Delphi 12 Athens
 
#1

AW: Aufgaben mit LiveBindings und Delphi-DB's erledigen

  Alt 7. Mai 2016, 10:08
Gegenargumente:
Grundsätzlich stimme ich dir in Bezug auf die Flexibilität eines ORM zu, aber deine Argumente ziehen in einigen Punkten nicht so ganz. So scheinst du die Events OnGetText/OnSetText von TField vollkommen außer Acht zu lassen. Damit lassen sich sowohl die Index-Lookups (auch bidirektional), als auch die inhaltsabhängige Formatierung relativ problemlos realisieren. Ich benutze das auch in Fällen, wo Datenbankwerte übersetzt werden müssen oder Platzhalter mit aktuellen Werten zu ersetzen sind. Zusätzliche Anzeigefelder werden in der Regel mit Calculated Fields erschlagen. Ach ja, die Optik hat sich in den letzten Delphi-Versionen auch deutlich verbessert.

Nebenbei finde ich es durchaus bemerkenswert, daß ein ziemlich brauchbares ORM wie TMS Aurelius auch ein TAureliusDataset mitbringt, mit dem man die Objektinstanzen des ORM wieder über datensensitive Controls ansprechen kann.

So ganz beiseite wischen würde ich den Ansatz mit datensensitiven Controls noch nicht. Er hat sicher noch eine Weile seine Daseinsberechtigung. Wie mit all diesen Sachen muss man natürlich lernen damit umzugehen und mit der nötigen Erfahrung lassen sich die verschiedenen Anforderungen auch effizient und relativ schnell lösen. Das gilt natürlich für ein ORM ebenso.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.238 Beiträge
 
Delphi 12 Athens
 
#2

AW: Aufgaben mit LiveBindings und Delphi-DB's erledigen

  Alt 10. Mai 2016, 06:23
Hallo Harry,

kennst du die Serie zu LiveBindings von Stephen Ball ?
Da ist es schön beschrieben, und am Ende wird auch gezeigt wie man das von Hand machen kann.

Hier gab es auch schon ältere Threads dazu.

Ich benutze das LB im Moment einer super-simplen, flachen Datenbank mit Sqlite, aber von Hand gesetzt, per LiveBinding.
Funktioniert, aber so ganz traue ich dem Braten noch nicht.
Zumindest läuft das mit Sqlite unter allen Plattformen.

Zu Haentschman's Vorschlag, das wird in der Serie oben auch beschrieben.
Als Objektliste funktioniert das genauso wie in einer Datenbank, das ist den LiveBindings egal wo die Daten herkommen.
Aber ich sehe auch den Speicherbedarf, ich habe immer noch die Hoffnung das eine Sqlite Datenbank nicht alle Daten erstmal in den Speicher lädt.
Bei der Objektliste wird das aber wohl so sein, es sei denn man kümmert sich aufwändig um Laden und Zerstören der
Objekte im Speicher.

Ein fertiges ORM würde wohl auch gehen, das habe ich nocht nicht gecheckt, ist aber doch mit Kanonen auf spatzen zu schiessen.

Diese einfache Anforderung die du unten beschreibst habe ich i.d.R. auch zu 90%, und dafür soll (muss) LiveBindings doch ausreichen, ohne grosse Verrenkungen.


Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#3

AW: Aufgaben mit LiveBindings und Delphi-DB's erledigen

  Alt 10. Mai 2016, 18:20
Hallo Rollo,

nein, kannte ich noch nicht, danke für den Link.

Interessant insofern, dass man das entsprechend auch für FMX machen kann (habe ich gerade mal spaßeshalber getestet) und soweit ich das sehe, funktioniert auch alles (incl. Gruppierung der Daten nach Kategorien und Updates der geänderten Daten in alle Richtungen).

DBEdits wurden natürlich durch normale TEdits ersetzt.

In der Anlage ein Screenshot.
Angehängte Grafiken
Dateityp: jpg vlb-TLV.jpg (143,9 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz