Erfahrungen mit den Komponenten von TMS

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Erfahrungen mit den Komponenten von TMS

Beitrag von Jim Knopf »

Liebe Mitforlinge, die eventuell TMS-Komponenten verwenden wollen:

immer wieder ist man auf Komponenten angewisen, wenn man einigermaßen rationell arbeiten möchte. Nachdem ich in Delphi5 - dem weiteren Abwärtsweg von Delphi, das damals super war, bin ich bis heute nicht weiter gefolgt - die TreeList von Developer Express sehr genre genutzt habe, nun aber leider doch mal auf 64bit und evtl. andere Plattformen umsteigen muss, habe ich alles Mögliche zur Lösung versucht. Developer Express zu konvertiren kann man der vielen Windows-Calls wegen vergessen. Selbst machen ist auch so eine Sache. VirtualTreeView überzeugt mich allein schon der Recordlogik wegen, die man für die Spaltenstruktur braucht, nicht wirklich und scheint mir auch sonst zu weit weg zu sein. Also habe ich mir das TMS-FNC-UI-Pack von TMS gekauft, dass auch so eine Treelist enthält.

Die Installation war ein Albtraum - nichts ging - und ich war knapp davor, den Fall unserem Anwalt zu übergeben - Kauf-Komponenten sollten sich schon zumindest installieren lassen. Zumal es auch noch hieß, lazarus wäre schuld.

Nur dank wp_xyz habe ich denen dann doch nicht nicht alles zurückgeschmissen - zumal ich auch sonst ein Post von jemandem Unzufriedenen las. Hier könnt ihr übrigens lesen, wie er es gelöst hat:
viewtopic.php?p=123502#p123502.

Ich habe ja Verständnis, dass nicht immer alles perfekt sein kann - in dieser Branche schon überhaupt. Was ich aber absolut nicht abkann, wenn man die Schuld auf was anderes schiebt. O-Ton von Herrn Fierens von TMS:
Wir liefern dieses FNC-Produkt für Lazarus seit 2017 und die Package-Struktur, die Ordnerstruktur wurde nie geändert. Es hat immer so funktioniert.
Wir liefern FNC-Komponenten für Delphi und die Paketstruktur ist sehr ähnlich, ebenso wie die Ordner- und Dateistruktur.

Da die Verwendung von mehreren abhängigen Packages und Quellen in einem einzigen Ordner in Delphi seit Delphi 1 im Jahr 1995 und in Lazarus so lange gut funktioniert hat, ist meine Meinung, dass entweder ein neues Problem oder eine neue Komplexität/Anforderung in Lazarus selbst eingeführt wurde und dass das Problem in erster Linie bei Lazarus liegt.
Das sind natürlich Aussagen, die gar nicht gehen. Wie kann man nur so dumm sein, vor allem Leuten gegenüber, die mit Software arbeiten? Ich habe das denen auch geschrieben und hoffe, dass es ihnen für die Zukunft zu denken gibt und sie aktualisierende Konsequenzen treffen..

Von den Demoprojekten funktionieren die halben nicht, dürften einfach schon Jahre lang nicht mehr hineingeschaut haben. Sollte auch nicht sein.

Trotzdem haben sie gute Ansätze - viel m.E. eher Spielereien - aber die TreeList werde ich mir genauer ansehen und dann hier kurz berichten. Auch das Ribbon scheint okay zu sein, habe ich aber nur in der Demo angeschaut.

Unterm Strich sollte man m.E. jemanden eine Chance bieten, wenn er seine Fehler einsieht und was verändert. Ich hoffe, sie tun das auch.

Viele Grüße
Martin

Ich934
Lazarusforum e. V.
Beiträge: 316
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: Erfahrungen mit den Komponenten von TMS

Beitrag von Ich934 »

Hallo,

ich bin gerne bereit für Komponenten zu zahlen wenn diese gut sind und mir das Leben erleichtern. Entwicklung kostet Geld und somit auch Komponenten. So setzte ich z.B. div. Komonenten von Devart ein und bin sehr zufrieden damit.

TMS habe ich im Juni/Juli probiert. Mir ging es eben auch um das Grid, TreeView und den XLS-Export. Leider hat mich dann aber die Installation (siehe meine Links) so abgeschreckt und dann auch das Verhalten. Es wurde hier scheinbar nicht wirklich getestet sondern einfach nur weiter gereicht.

Fehler passieren, ich bin sicherlich auch alles andere als Perfekt, aber dann muss man das eingestehen. Vor allem wenn man dafür Geld verlangt. In meinem Fall kam es zu einer Stornierung der Bestellung. Somit ging nur viel Zeit verloren aber es entstand kein finanzieller Schaden.

Leider ist es halt oft so, dass ich für Lazarus Komponenten nicht vorab testen kann. Damit muss ich den Werbeversprechen der Entwickler vertrauen.

cu tb
Tipp für PostgreSQL: www.pg-forum.de

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Erfahrungen mit den Komponenten von TMS

Beitrag von Jim Knopf »

Das sehe ich auch so wie ich934: Für Kompinenten zu bezahlen ist durchaus okay, aber dann muss man sich eben auch geborgen fühlen damit - wie bei jeder Software.

Es kann vorkommen, dass mal was einfach nicht rund läuft, sei es wegen Krankheit, Personalwechsel oder aus sonstigen Gründen. Bei anderen Herstellern hingegen ist Schludrigkeit oder hohes Ross in den Genen. Während bei Ersteren Verständnis und Feedback helfen können, sind letztere üblicherweise unverbesserlich - Gene eben. Zu unterscheiden, mit wem man es zu tun hat, ist manchmal nicht ganz einfach.

Da man eben die Komponenten bei Lazarus vorab offenbar nicht testen kann, ist man auf Mundinformation angewiesen und das ist auch für den Entwickler schwierig. Summa summarum finde ich am besten, immer mit deutlichem, aber wenn möglich nicht verurteilendem Feedback zu arbeiten. Ob das bei TMF hilft, weiß ich nicht. Sollte ich von denen noch einmal etwas hören, melde ich mich jedenfalls hier.

Viele Grüße und ein schönes Wochenende
Martin

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: Erfahrungen mit den Komponenten von TMS

Beitrag von hubblec4 »

Bezahl Software ist immer so eine Sache....

Klar, die Firma muss verdienen...auf der anderen seite ist ein Quell-Offener Code einsehbar und man kann beim Fehler-Beheben mit helfen.


Ich hatte da jetzt gelesen das du mit dem VirtualTreeView nicht so zu recht kommst.

Ich kann dir und auch allen anderen nur empfehlen sich in diese Komponente einzuarbeiten,
da sie meiner Meinung nach sau-stark ist was die Perfomence angeht, die Vielfältigen möglichkeiten der Nutzung usw.

Und für mich ist das beste am VTV das "virtuell".
Man muss nämlich keinerlei Records für die Datenhaltung nutzen, man muss noch nicht mal Node-Size oder so achten.
Alles was ich mache um im VTV was anzeigen zu lassen ist GetText() auszuführen.
Aber das hier zu erklären ist das falsche Thema.

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Erfahrungen mit den Komponenten von TMS

Beitrag von Jim Knopf »

hubblec4 hat geschrieben:
Fr 20. Aug 2021, 11:48
Und für mich ist das beste am VTV das "virtuell".
Man muss nämlich keinerlei Records für die Datenhaltung nutzen, man muss noch nicht mal Node-Size oder so achten.
Alles was ich mache um im VTV was anzeigen zu lassen ist GetText() auszuführen.
Aber das hier zu erklären ist das falsche Thema.
Mein Problem ist weniger, dass ich mich nicht in VTV einlesen möchte, sondern die Kompatibilität zu meiner jetzigen, ziemlich großen Applikation, bei der ich die TreeList von Developer Express rund 200x einsetze, teilweise sehr komplex. Ich möchte nicht unbedingt jede der TreeLists von vorne weg aufbauen, denn da werde ich wohl nie fertig - zumal es ja nicht nur die TreeLists sind, sondern auch alles damit verbundene Drumherum.

Vielleicht sollte man mal einen Thread auftun, um die Möglichkeiten abzuklopfen, ob und ggf. wie man VTV so um Methoden und Events erweitern kann, dass eine größtmögliche Kompatibilität gegeben ist.

Viele Grüße
Martin

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: Erfahrungen mit den Komponenten von TMS

Beitrag von hubblec4 »

Jim Knopf hat geschrieben:
Fr 20. Aug 2021, 12:02

Mein Problem ist weniger, dass ich mich nicht in VTV einlesen möchte, sondern die Kompatibilität zu meiner jetzigen, ziemlich großen Applikation, bei der ich die TreeList von Developer Express rund 200x einsetze, teilweise sehr komplex. Ich möchte nicht unbedingt jede der TreeLists von vorne weg aufbauen, denn da werde ich wohl nie fertig - zumal es ja nicht nur die TreeLists sind, sondern auch alles damit verbundene Drumherum.
Es ist auf jedenfall immer mächtig schwierig etwas in großen Apps einfach mal so umzuändern.
Und selbst beim VTV habe ich meine Sorgen, da ich noch die Version 4.x.x.x nutze welche sich nicht einfach so durch die jetzt aktuell integrierte VTV 5 Version ersetzen lässt.

Allerdings ist das auch bissl meine "schuld" weil ich damals das VTV noch nicht so gut beherschte und natürlich wie alle Anfänger die Nodes im Treeview mit Daten belegt habe (vollkommen dumm sowas :-) )

Daten und GUI trenne ich nun immer sauber ab und somit ist es dann auch leichter Komponenten auszutauschen, da dann nur noch ein kleiner Teil für die GUI angepasst werden muss.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Erfahrungen mit den Komponenten von TMS

Beitrag von fliegermichl »

Jim Knopf hat geschrieben:
Do 19. Aug 2021, 16:26
VirtualTreeView überzeugt mich allein schon der Recordlogik wegen, die man für die Spaltenstruktur braucht, nicht wirklich und scheint mir auch sonst zu weit weg zu sein.
Das mit den Records ist ja nur ein Beispiel. Der VTV hält zunächst keinerlei "anwendungsbezogene" Daten, sondern kümmert sich ausschließlich um die Verwaltung des Trees / Grids.

Wenn er Informationen braucht, was angezeigt werden soll, wird z.B. onGetText aufgefrufen. Da bekommt man die betreffende Node, die betreffende Spalte und den Modus übergeben.

Irgendwie muss man ja aber seine Daten mit der Node verknüpfen.
Wenn meine Daten in einer Klasseninstanz sind, kann ich Tree.NodeDataSize := SizeOf(Pointer) setzen und der Tree reserviert mir automatisch den Speicherplatz von einem Zeiger in dem ich die Adresse meiner Instanz eintrage.

Hast du z.B. aber eine Datenbankanwendung, dann liegen die anzuzeigenden Daten in einer Tabelle. In dem Fall setzt man
Tree.NodeDataSize := SizeOf(Integer) und in dem automatisch reservierten Speicherplatz speichere ich die Id des Datensatzes.
Im Event onGetText kann ich dann diese Id ermitteln und abhängig von der übergebenen Spalte das Feld aus dem Datensatz auslesen und anzeigen lassen.

Habe ich aber gar keine eigene "Datenstruktur", kann ich dem Tree sagen - Alter an jeder Node brauche ich einen Record mit den und den Feldern. Der VTV legt mir diesen Record dann ebenfalls automatisch an und bietet Events z.B. onInitNode und Konsorten wo ich meine Daten da reinschreiben kann.

Antworten