Wie DSharp in Community Edition 10.3 compilieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mich mal endlich durchgerungen eine aktuelle Community Edition 10.3 auf einen neuen Rechner zu installieren, da ich gerne die DSharp Komponente wegen MVVM für meine Zwecke mal ausführlich testen wollte. Da ich die Komponente noch nie benutzt habe, bräuchte ich schon Hilfe bei Installation. :oops: So wie ich es verstanden habe, benötigt DSharp zunächst die Spring4D Komponente. Bei der wurde erfreulicher Weise eine Build.exe mitgeliefert, sodass die Installation automatisch ablief. Es gibt im DSharp Unterverzeichnis ".\Packages\Delphi0Tokyo\BuildPackages.grouppr oj". Doch wenn ich diese in Delphi reinlade und versuche das Projekt "DSharp.Core.dproj" zu kompilieren kommen dann Fehlermeldungen siehe Screenshot im Anhang. Doch wie installiert man die DSharp Komponente richtig in der aktuellen Community Edition 10.3? :gruebel: Lg, jus |
AW: Wie DSharp in Community Edition 10.3 compilieren
Hallo,
Zeile 173 erzeugt einen Compiler-Fehler. Muss vielleicht irgendwo ein IFDEF erweitert werden, um die aktuelle Compilerversion zu unterstützen? Viell. gibt es ja auch schon eine neuere Version? Die Anzahl der Warnungen lässt nicht auf sauberen Code schließen. |
AW: Wie DSharp in Community Edition 10.3 compilieren
auf was für einer Version bist du denn???
Der aktuellste commit bei Stefan ist im Branch https://bitbucket.org/sglienke/dshar...h/spring-1.2.1 Bietet Unterstützung für Rio und compiliert bei mir wunderbar ohne Fehler oder Warnungen. Stefan legt auch einen hohen Wert auf die Codequalität. |
AW: Wie DSharp in Community Edition 10.3 compilieren
@Rainer Wolff: ok, hast recht gehabt, habe nicht in den verschiedenen Branches nachgeschaut, da ich davon ausgegangen bin, dass im master immer das Aktuelle drin ist. :oops: Mit der dem Branch spring-1.2.1 läßt es sich kompilieren. Vielen Dank für den Hinweis! :thumb:
Was mir aber aufgefallen ist, ist dass ein großer Teil der mitgelieferten Beispiele insbesondere MVVM und TreeviewPresenter_Beispiel nicht funktionieren. Ich weiß halt nur nicht, ob es an meiner speziellen Branch Version liegt oder ob es generell so ist. Ich muß zugeben, da ich bisher nur mit Delphi 2007 gearbeitet habe noch nie mit einem MVVM Framework gearbeitet habe, ist es ziemlich harter Brocken für mich. Gibt es eigentlich noch mehr funktionierende Beispiele bezgl. MVVM und VirtualStringTree? lg, jus |
AW: Wie DSharp in Community Edition 10.3 compilieren
|
AW: Wie DSharp in Community Edition 10.3 compilieren
Zitat:
*SCNR* Sherlock |
AW: Wie DSharp in Community Edition 10.3 compilieren
Hallo,
warum Oberfläche und Code trennen? Diese Vorgehensweise habe ich nie verstanden, wozu habe ich ein RAD-Tool? - Button aufs Form - Doppelklick drauf an dann den Code komplett in OnClick, auch wenn er 2.000 Zeilen lang ist Zur Not kann man ja Unterprozeduren machen und die Variablen direkt im OnClick definieren, das spart Übergabeparameter. Ah so, ja </Ironie> |
AW: Wie DSharp in Community Edition 10.3 compilieren
Zitat:
Die gute Nachricht für Leute, die die VST mit DSharp verwenden wollen, ist, dass laut dem Entwickler der TreeViewPresenter Teil noch weitergepflegt wird. Ich habe im vorigen Beitrag geschrieben, dass das \dsharp\Samples\DelphiTage\TreeviewPresenter Beispiel in DSharp Branch "spring-1.2.1" nicht kompiliert. Dies ließ sich mit folgenden geringfügigen Änderungen nun in der Delphi Community Edition 10.3 kompilieren: Main.pas:
Delphi-Quellcode:
Customer.pas:
unit Main;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DSharp.Windows.ColumnDefinitions, DSharp.Windows.CustomPresenter, DSharp.Windows.TreeViewPresenter, VirtualTrees, StdCtrls, ExtCtrls, ComCtrls, Grids, DSharp.Bindings.VCLControls, DSharp.Bindings; type TForm7 = class(TForm) VirtualStringTree1: TVirtualStringTree; TreeViewPresenter1: TTreeViewPresenter; Panel1: TPanel; Edit1: TEdit; Panel2: TPanel; LabeledEdit1: TLabeledEdit; BindingGroup1: TBindingGroup; procedure FormCreate(Sender: TObject); procedure Edit1Change(Sender: TObject); private { Private declarations } procedure FilterCustomer(Item: TObject; var Accepted: Boolean); public { Public declarations } end; var Form7: TForm7; implementation {$R *.dfm} uses Customer, Spring.Collections, DSharp.Core.XmlSerialization, DSharp.Core.XmlSerialization.XmlReader, DSharp.Core.XmlSerialization.XmlSerializer, Masks; procedure TForm7.Edit1Change(Sender: TObject); begin TreeViewPresenter1.ApplyFilter; end; procedure TForm7.FilterCustomer(Item: TObject; var Accepted: Boolean); begin Accepted := Accepted and MatchesMask(TCustomer(Item).CompanyName, '*' + Edit1.Text + '*'); end; procedure TForm7.FormCreate(Sender: TObject); var // list: IList; list: IObjectList; ser: IXmlSerializer; reader: IXmlReader; begin // daten aus Xml lesen ... ser := TXmlSerializer.Create; reader := TXmlReader.Create('..\..\Customers.xml'); // Supports(ser.Deserialize(reader), IList, list); Supports(ser.Deserialize(reader), IObjectList, list); // ... und dem Presenter zuweisen // TreeViewPresenter1.View.ItemsSource := list; TreeViewPresenter1.View.ItemsSource := list; // Filter hinzufügen TreeViewPresenter1.View.Filter.Add(FilterCustomer); // eigenes template zuweisen TreeViewPresenter1.View.ItemTemplate := TCustomerTemplate.Create; end; end.
Delphi-Quellcode:
lg,
unit Customer;
interface uses Classes, Spring.Collections, Spring.Collections.Lists, DSharp.Core.DataTemplates, Rtti; type TCustomer = class(TPersistent) private FCustomerId: string; FCompanyName: string; FContactName: string; FContactTitle: string; FAddress: string; FCity: string; published property CustomerId: string read FCustomerId write FCustomerId; property CompanyName: string read FCompanyName write FCompanyName; property ContactName: string read FContactName write FContactName; property ContactTitle: string read FContactTitle write FContactTitle; property Address: string read FAddress write FAddress; property City: string read FCity write FCity; end; TCustomers = class(TObjectList<TCustomer>); TCustomerTemplate = class(TDataTemplate) public function GetValue(const Item: TObject; const ColumnIndex: Integer): TValue; override; function GetTemplateDataClass: TClass; override; end; implementation { TCustomerTemplate } function TCustomerTemplate.GetTemplateDataClass: TClass; begin Result := TCustomer; end; function TCustomerTemplate.GetValue(const Item: TObject; const ColumnIndex: Integer): TValue; begin case ColumnIndex of -1, 0: Result := TCustomer(Item).CustomerId; 1: Result := TCustomer(Item).CompanyName; 2: Result := TCustomer(Item).ContactTitle + ' ' + TCustomer(Item).ContactName; end; end; initialization TCustomers.ClassName; end. jus |
AW: Wie DSharp in Community Edition 10.3 compilieren
Zitat:
|
AW: Wie DSharp in Community Edition 10.3 compilieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr. |
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