AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi VirtualTreeView Editfelder, ComboBox und andere
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualTreeView Editfelder, ComboBox und andere

Ein Thema von Jens Hartmann · begonnen am 28. Mär 2016 · letzter Beitrag vom 1. Nov 2016
Antwort Antwort
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#1

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 28. Mär 2016, 20:07
Hallo Aviator,

leider kann ich das noch nicht so ganz nachvollziehen. Ich habe daher im Anhang mal mein eigenes Demo-Projekt angefügt.

Leider bekomme ich die Klasse schon nicht ans laufen und das Editieren ist auch nicht möglich. Beim Compilieren bringt der Compiler mir schon folgende Fehler:

[DCC Fehler] TreeEditors.pas(17): E2137 Methode 'GetNodeText' nicht in Basisklasse gefunden
[DCC Fehler] TreeEditors.pas(17): E2252 Es gibt bereits eine Methode 'GetNodeText' mit identischen Parametern
[DCC Fehler] TreeEditors.pas(18): E2137 Methode 'PrepareEdit' nicht in Basisklasse gefunden
[DCC Fehler] TreeEditors.pas(25): E2137 Methode 'PrepareEdit' nicht in Basisklasse gefunden
[DCC Fehler] TreeEditors.pas(26): E2252 Es gibt bereits eine Methode 'PrepareEdit' mit identischen Parametern
[DCC Fehler] TreeEditors.pas(9): E2291 Implementierung der Interface-Methode IVTEditLink.PrepareEdit fehlt
[DCC Fehler] TreeEditors.pas(9): E2291 Implementierung der Interface-Methode IVTEditLink.SetBounds fehlt
[DCC Fehler] TreeEditors.pas(71): E2136 Definition für abstrakte Methode 'GetNodeText' nicht erlaubt
[DCC Fehler] TreeEditors.pas(73): E2003 Undeklarierter Bezeichner: 'FTree'
[DCC Fehler] TreeEditors.pas(73): E2003 Undeklarierter Bezeichner: 'FNode'
[DCC Fehler] TreeEditors.pas(91): E2003 Undeklarierter Bezeichner: 'SetBounds'
[DCC Fehler] TreeEditors.pas(95): E2003 Undeklarierter Bezeichner: 'FTree'
[DCC Fehler] TreeEditors.pas(95): E2066 Operator oder Semikolon fehlt
[DCC Fehler] TreeEditors.pas(95): E2003 Undeklarierter Bezeichner: 'FColumn'
[DCC Fehler] TreeEditors.pas(95): E2003 Undeklarierter Bezeichner: 'R'
[DCC Fehler] TreeEditors.pas(15): E2065 Ungenügende Forward- oder External-Deklaration: 'TEditEditLink.GetNodeText'
[DCC Fehler] TreeEditors.pas(18): E2065 Ungenügende Forward- oder External-Deklaration: 'TEditEditLink.PrepareEdit'
[DCC Hinweis] TreeEditors.pas(15): H2219 Das private-Symbol 'GetNodeText' wurde deklariert, aber nie verwendet
[DCC Fataler Fehler] fMain.pas(7): F2063 Verwendete Unit 'TreeEditors.pas' kann nicht compiliert werden
Angehängte Dateien
Dateityp: 7z vstEditorDemo.7z (62,7 KB, 14x aufgerufen)
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 28. Mär 2016, 21:21
Also im Prinzip hast du es schon richtig aufgebaut. Aber oben in deinen Methodendeklarationen hast du einige Fehler eingebaut die ich dir dooferweise in meinen Beitrag hineingeschrieben habe. Ich hatte mir das wie gesagt aus mehreren Klassen wieder zu einer zusammengeklickt und dadurch nicht gemerkt, dass die Methoden schon deklariert waren. Habe auch kein Testprogramm geschrieben um die von mir gepostete Klasse noch einmal zu testen.

Hier mal der Klassenheader mit den Methodendeklarationen (ich werde den in meinem Beitrag auch ersetzen):

Delphi-Quellcode:
  TEditEditLink = class (TInterfacedObject, IVTEditLink)
  private
    FEdit: TEdit;
    FTree : TVirtualStringTree;
    FNode : PVirtualNode;
    FColumn : Integer;
    procedure GetNodeText;
  public
    destructor Destroy; override;
    function BeginEdit: Boolean; virtual; stdcall;
    function CancelEdit: Boolean; virtual; stdcall;
    function EndEdit: Boolean; virtual; stdcall;
    function GetBounds: TRect; virtual; stdcall;
    function PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; stdcall;
    procedure ProcessMessage(var Message: TMessage); virtual; stdcall;
    procedure SetBounds(R: TRect); stdcall;
  end;
Und das hier muss noch in die PrepareEdit Funktion hinein:

Delphi-Quellcode:
  Self.FEdit := TEdit.Create(Self.FTree);
  Self.FEdit.Visible := False;
  Self.FEdit.Parent := Self.FTree;
Ansonsten bekommst du beim Ausführen eine AV wegen einer nicht erzeugten Komponente.
Angehängte Dateien
Dateityp: 7z vstEditorDemo.7z (368,2 KB, 49x aufgerufen)

Geändert von Aviator (28. Mär 2016 um 21:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.053 Beiträge
 
Delphi 12 Athens
 
#3

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 29. Mär 2016, 05:46
Ein guter Ausgangspunkt sind auch die vorgefertigten Editoren für TEdit, TMemo, TSpinEdit, TDateTimePicker und TCheckBox:
http://www.soft-gems.net/index.php/c...rtual-treeview
(ganz unten "Virtual Treeview (editors)")

Die sind zwar schon länger nicht mehr aktualisiert, aber bis vor dem Split der VirtualTrees in mehrere Units funktionierte es damit noch problemlos, jetzt muss vermutlich auch kaum mehr als die uses angepasst werden.

Warum das nicht offiziell mitgepflegt wird, weiß ich nicht. Sinnvoll wäre es.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 29. Mär 2016, 12:43
Ein guter Ausgangspunkt sind auch die vorgefertigten Editoren für TEdit, TMemo, TSpinEdit, TDateTimePicker und TCheckBox:
http://www.soft-gems.net/index.php/c...rtual-treeview
(ganz unten "Virtual Treeview (editors)")

[...]

Warum das nicht offiziell mitgepflegt wird, weiß ich nicht. Sinnvoll wäre es.
Da gebe ich dir recht. Wäre wirklich sinnvoll die dann immer anzupassen und auch auf der neuen HomePage als Download zur Verfügung zu stellen. Ich habe mir mittlerweile allerdings meine eigenen Basisklassen erstellt und die auch zum VST gepackt als VirtualTrees.BaseEditors Unit.

Deshalb hatte ich auch im ersten Beitrag ein paar "Schwierigkeiten" da wieder eine funktionierende Klasse zusammenzubasteln. Hatte die wie gesagt nicht getestet und alles nur hier im Editor zusammengebaut. Aber die Demo die ich angehängt hatte sollte jetzt zumindest mal funktionieren.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.053 Beiträge
 
Delphi 12 Athens
 
#5

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 29. Mär 2016, 13:53
Es ist ja ein Open Source Projekt. Insofern sollte es ja möglich sein dies zu ergänzen...
Leider werde ich kaum die Zeit finden...
Aber mal schauen, vielleicht geht es ja schnell die alten Units anzupassen.

Oder hättest du vielleicht Interesse und die Möglichkeit (lizenzrechtlich meine ich, falls du den nicht privat geschrieben hast) den Quelltext dort zur Verfügung zu stellen, vor allem wenn der noch mehr kann als die alte Demo?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 29. Mär 2016, 16:29
Es ist ja ein Open Source Projekt. Insofern sollte es ja möglich sein dies zu ergänzen...
Leider werde ich kaum die Zeit finden...
Aber mal schauen, vielleicht geht es ja schnell die alten Units anzupassen.

Oder hättest du vielleicht Interesse und die Möglichkeit (lizenzrechtlich meine ich, falls du den nicht privat geschrieben hast) den Quelltext dort zur Verfügung zu stellen, vor allem wenn der noch mehr kann als die alte Demo?
Also wenn ich ehrlich bin, dann habe ich mir die Funktionen der Editoren noch nie wirklich angesehen. Insofern kann ich nicht sagen ob meine Klassen mehr können als die schon existierenden. Ich scheue mich auch normalerweise nicht vor Arbeit (auch in diesem Fall nicht) nur hätte ich sehr wenig Zeit, diese Editoren immer auf dem neuesten Stand zu halten. Noch dazu arbeite ich auch nicht immer direkt mit den neuesten Versionen des VST sondern öfters auch mal noch mit einer alten Version. Aber ich werde mir die Demos mal bei Gelegenheit anschauen und kucken was sich da machen lässt. Habe allerdings zur Zeit privat auch ein größeres Projekt am Laufen bei dem ich gerne weiter kommen würde.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#7

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 29. Mär 2016, 22:53
Einen schönen guten Abend zusammen,

jetzt habe ich das ganze mal an Hand der vorgenannten Unterlagen und der Andvanced Demo (editors.pas und properties Forms) mir selbst zusammen gebastelt. Allerdings klappt dass mit dem Editieren absoulte noch gar nicht.

Anbei mal meine aktuell Version.

Gruß Jens
Angehängte Dateien
Dateityp: 7z Musterprojekt vst.7z (66,3 KB, 41x aufgerufen)
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
710 Beiträge
 
Delphi 12 Athens
 
#8

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 2. Apr 2016, 10:50
Warum das nicht offiziell mitgepflegt wird, weiß ich nicht. Sinnvoll wäre es.
Zitat vom 13. Juni 2015
Zitat:
With the release 5.4.0 my part on Virtual Treeview's development is over.
It's now maintained by JAM-Software
Roland
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 2. Apr 2016, 11:39
Warum das nicht offiziell mitgepflegt wird, weiß ich nicht. Sinnvoll wäre es.
Zitat vom 13. Juni 2015
Zitat:
With the release 5.4.0 my part on Virtual Treeview's development is over.
It's now maintained by JAM-Software
Das ist schon klar, aber wer sagt denn, dass die das nicht auch pflegen könnten. Die Editors wurden ja auch nicht von Mike Lischke selbst entwickelt sondern von irgendjemand anderen.
  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 10:59 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