Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher (https://www.delphipraxis.net/164573-dsharp-data-bindings-mvvm-und-mehr-fuer-delphi-2010-und-hoeher.html)

BlackSeven 30. Mai 2012 11:17

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Habe gerade festgestellt, dass die DSharp-Multicast Events nun auch anonyme Methoden unterstützen.


:thumb:

BlackSeven 13. Jun 2012 08:48

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Hallo Stevie!

Ich bekomme folgenden Fehler, wenn ich ein Multicast Event in einem Multicast Event auslöse. Dieser Fehler tritt nur bei anonymen Methoden und nicht bei Methodenzeigern auf.

Exception: First chance exception at $746C23CC. Exception class $C0000092 with message 'floating point stack check at 0x746c23cc'. Process Project1.exe (2052)

Delphi-Quellcode:
  {$M+}
  TEventTest = reference to procedure;
  {$M-}

  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private

    _EventTest1 : Event<TEventTest>;
    _EventTest2 : Event<TEventTest>;

    procedure ProcessEventTest1;
    procedure ProcessEventTest2;

    function GeteventTest1: Event<TEventTest>;
    function GeteventTest2: Event<TEventTest>;

    property EventTest1: Event<TEventtest> read GetEventTest1;
    property EventTest2: Event<TEventtest> read GetEventTest2;

  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

  Self.EventTest1.Add(Self.ProcessEventTest1);
  Self.EventTest2.Add(Self.ProcessEventTest2);

  _EventTest1.Invoke();

end;

procedure TForm1.ProcessEventTest1;
begin

  _EventTest2.Invoke(); <- hier

end;

procedure TForm1.ProcessEventTest2;
begin
//
end;

function TForm1.GetEventTest1: Event<TEventTest>;
begin

  Result := _EventTest1.EventHandler;

end;

function TForm1.GetEventTest2: Event<TEventTest>;
begin

  Result := _EventTest2.EventHandler;

end;

end.

Stevie 13. Jun 2012 19:47

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Fix commited - ich hätte auf Arnaud hören sollen. ;)

Ein Hinweis noch: Du solltest event properties immer als IEvent<T> definieren.

BlackSeven 14. Jun 2012 07:09

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Zitat:

Ein Hinweis noch: Du solltest event properties immer als IEvent<T> definieren.
OK. Danke.

pHL 26. Jun 2012 12:05

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Hallo,

Ich habe mir gerade das VirtualTreeViewSample von DSharp angeschaut und wollte etwas ähnliches mit einem TcxGrid von DevExpress nachbauen.
Daher meine Frage: Funktioniert der GridViewPresenter noch nicht oder habe ich die Units einfach nicht richtig eingebunden? Ich bekomme beim
Kompilieren nämlich einen Fehler dass cxTL nicht gefunden wird.

Mfg.
pHL

Stevie 26. Jun 2012 13:25

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Zitat:

Zitat von pHL (Beitrag 1172473)
Ich habe mir gerade das VirtualTreeViewSample von DSharp angeschaut und wollte etwas ähnliches mit einem TcxGrid von DevExpress nachbauen.
Daher meine Frage: Funktioniert der GridViewPresenter noch nicht oder habe ich die Units einfach nicht richtig eingebunden? Ich bekomme beim
Kompilieren nämlich einen Fehler dass cxTL nicht gefunden wird.

Vermutlich hast du nur das Quantum Grid und nicht die Quantum TreeList von DevExpress?

In dem Fall, schmeiß die DSharp.DevExpress.TreeListPresenter.pas aus dem Package und passe die DSharp.DevExpress.Designtime.pas entsprechend an.

Edit: Auch die cxTreeList aus der requires des Packages nehmen.

pHL 26. Jun 2012 15:10

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Danke schonmal, ich habe einen TcxTreeView, keine Ahnung ob das nun zur Quantum Treelist gehört :D habe die Komponenten
noch nicht lange. Ansonsten mache ich es so.

Sollte der GridViewPresenter eine visuelle Komponente sein? Wenn ja dann habe ich einen Fehler beim installieren gemacht.

Mfg.

Stevie 26. Jun 2012 23:00

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Zitat:

Zitat von pHL (Beitrag 1172518)
Danke schonmal, ich habe einen TcxTreeView, keine Ahnung ob das nun zur Quantum Treelist gehört :D habe die Komponenten
noch nicht lange. Ansonsten mache ich es so.

Sollte der GridViewPresenter eine visuelle Komponente sein? Wenn ja dann habe ich einen Fehler beim installieren gemacht.

Mfg.

TcxTreeView ist der "Standard" Treeview, TcxTreeList ist eher sowas wie der Virtual Treeview. Wenn du die VCL Subscription oder das ExpressGridPack hast, dann ist das dabei, beim ExpressQuantumPack nicht.

Aber ich sehe gerade, dass ich das Package mit den DevExpress Presentern gar nicht commited habe :lol: Werd ich morgen mal machen

pHL 27. Jun 2012 06:01

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Alles klar :) dankeschön, dann passe ich das Package an dann sollts laufen.

Mfg.
pHL

BlackSeven 10. Jul 2012 14:28

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher
 
Hallo Stefan,

folgender Code löst eine Exception aus:
Delphi-Quellcode:
type

  {$M+}
  TEventTest = reference to procedure(const AValue: Int64);
  {$M-}

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    _EventTest : Event<TEventTest>;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

  _EventTest.EventHandler.Add
  (

    procedure(const AValue: Int64)
    begin

      ShowMessage(IntToStr(AValue));

    end

  );

  _EventTest.EventHandler.Invoke(1);

end;
Das Problem liegt an Int64.
Zitat:

TEventTest = reference to procedure(const AValue: Int64);
Mit Int32 funktioniert das Ganze.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz