AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Data Binding
Thema durchsuchen
Ansicht
Themen-Optionen

Data Binding

Ein Thema von Stevie · begonnen am 28. Apr 2011 · letzter Beitrag vom 28. Apr 2017
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: Data Binding

  Alt 18. Jun 2011, 17:53
Hallo Stevie,

ich probiere gerade Dein Data Bindings aus. stahli hat mich hier darauf aufmerksam gemacht, dass das Data Bindding vielleicht etwas für mich wäre. Ich habe aber ein Problem mit der folgenden Procedure :
Delphi-Quellcode:
procedure TBindingGroup.WriteBindings(AWriter: TWriter);
var
  LAncestor: TPersistent;
  LBinding: TBindingBase;
begin
  LAncestor := AWriter.Ancestor;
  AWriter.Ancestor := nil;
  try
    TWriterHack(AWriter).WriteValue(vaCollection);
    for LBinding in FBindings do
    begin
      AWriter.WriteListBegin();
      AWriter.WriteProperties(LBinding);
      AWriter.WriteListEnd();
    end;
    AWriter.WriteListEnd();
  finally
    AWriter.Ancestor := LAncestor;
  end;
end;
Und zwar mit der Zeile AWriter.WriteProperties(LBinding); . Hier spuckt mir der Compiler die Fehlermeldung [DCC Error] System.Bindings.pas(684): E2362 Cannot access protected symbol TWriter.WriteProperties aus. Diese Meldung bekomme ich, wenn ich das Designtime-Package unter Delphi 2010 lade und installieren möchte und wenn ich die Datei System.Bindings.pas manuell einbinde. Mache ich hier etwas falsch oder habe ich etwas vergessen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Data Binding

  Alt 18. Jun 2011, 18:03
Die Version im Post oben ist etwas veraltet Hol dir einfach die aktuellste Version aus dem svn. Ich werde aber im Laufe des Wochenendes eine aktuelle Version hier hochladen.

Edit: Aktuelle Archive hochgeladen
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (18. Jun 2011 um 18:30 Uhr)
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#3

AW: Data Binding

  Alt 10. Apr 2012, 17:15
Hallo Stevie,
nach längerer Zeit habe ich DSharp noch mal wieder getestet.
Ich nutze die AdvStringgrids von TMS. Damit funktioniert das irgendwie nicht so ganz.
In der VCLControls-Unit habe ich mir auf Grundlage von TStringgrid eine Klasse für die TAdvStringgrids gebaut. Wenn ich aber das Grid mit Daten gefüllt habe, gibt es eine Exception in der Paint-Methode vom AdvStringGrid.
Code:
if not Assigned(inherited Objects[c,r]) then
in dieser Zeile bei Cellproperties knallts mit "ListenIndex überschreitet Maximum". Könnte dies Objects doppelt belegt sein? Oder fällt Dir dazu etwas ein?
Gruss Jens

Edit:
Habe noch mal geguck. Ich glaube, dass beim Setzen des Cell-Wertes mit Cells[] in SetCells die CellProperties (TMS) mit Daten belegt werden. Wahrscheinlich wird das bei der Belegung über DSharp nicht gemacht....
Achtung: Bin kein Informatiker sondern komme vom Bau.

Geändert von Jens01 (10. Apr 2012 um 17:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Data Binding

  Alt 10. Apr 2012, 19:14
Hi Jens,

bin mir nicht ganz sicher, ob du die aktuelle Version aus dem svn Repository nutzt (hab mal das Posting oben dahingehend aktualisiert).

Dort wird die Unit DSharp.Bindings.CollectionView.VCLAdapters.pas am ehesten interessant sein, genauer gesagt die Klasse TCollectionViewStringGridAdapter.

Das Design sieht so aus, dass die meisten Controls, das für das Anzeige von Listen zuständig sind, eine Aggregation auf ein von TCollectionView abgeleitetes Objekt haben. Diese Klasse kümmert sich um das Anzeigen der Liste in bestimmten Formen (z.B. für eine Repräsentation von TStrings oder im TStringGrid).

Ich kenn ehrlich gesagt den internen Aufbau des TAdvStringGrids nicht, aber wenn es irgendwie von TStringGrid abgeleitet ist, müsste es eigentlich kein Problem sein, mit minimalen oder garkeinen Anpassungen den TCollectionViewStringGridAdapter dafür zu benutzen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#5

AW: Data Binding

  Alt 10. Apr 2012, 21:07
Zitat:
bin mir nicht ganz sicher, ob du die aktuelle Version aus dem svn Repository nutzt
Nutze ich.
Zitat:
Ich kenn ehrlich gesagt den internen Aufbau des TAdvStringGrids nicht, aber wenn es irgendwie von TStringGrid abgeleitet ist, müsste es eigentlich kein Problem sein, mit minimalen oder garkeinen Anpassungen den TCollectionViewStringGridAdapter dafür zu benutzen.
Das Ding ist von TStringgrid abgeleitet.
Wenn ich die Exception ein paar mal durchbestätige, dann zeigt er die Daten in den Cellen auch an, aber..naja, so eine Exception in Paint ist doch schon lästig. Bin mir auch nicht sicher, ob es an DSharp oder TMS liegt. Aber das genaue Problem bekomme ich nicht geriffen...
Schade
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Data Binding

  Alt 10. Apr 2012, 21:58
Ich schau mal, ob mich die Trial vom TAdvStringGrid weiterbringt, den Fehler zu finden. Kannst du mir deine Anpassungen diesbezüglich zukommen lassen?

Nachtrag: Hab das Problem gefunden - TAdvStringGrid überschreibt die Objects Property und es scheint, dass intern noch zusätzliche Objekte für Zelleneigenschaften oder so gehalten werden. Hab mal ne neue Interceptor Klasse inklusive CollectionView Adapter für das TAdvStringGrid erstellt und commited.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (11. Apr 2012 um 10:03 Uhr)
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#7

AW: Data Binding

  Alt 11. Apr 2012, 12:07
TAdvStringGrid funktioniert!
Danke...
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Data Binding

  Alt 28. Apr 2017, 09:42
würde gerne TDatabinding verwenden, wird es ein DSharp auch für Delphi XE10.2 geben


Delphi-Quellcode:
Checking project dependencies...
Compiling DSharp.Core.dproj (Debug, Win32)
brcc32 command line for "DSharp.Core.vrc"
c:\program files (x86)\embarcadero\studio\18.0\bin\cgrc.exe -c65001 "DSharp.Core.vrc" -foDSharp.Core.res
......
[dcc32 Error] DSharp.Core.Reflection.pas(2884): E2361 Cannot access private symbol TRttiObject.FParent
[dcc32 Error] DSharp.Core.Reflection.pas(2885): E2361 Cannot access private symbol TRttiObject.FHandle
[dcc32 Fatal Error] DSharp.ComponentModel.DataAnnotations.pas(83): F2063 Could not compile used unit 'DSharp.Core.Reflection.pas'
Failed
Elapsed time: 00:00:00.9

Geändert von bernhard_LA (28. Apr 2017 um 09:46 Uhr)
  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 16:57 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