VirtualTreeView und DrawText

Rund um die LCL und andere Komponenten
Antworten
Ronny58
Beiträge: 90
Registriert: So 27. Apr 2014, 20:35

VirtualTreeView und DrawText

Beitrag von Ronny58 »

Hallo Zusammen,

ich hab mal ne Frage zur o.a. Komponente. Ich setzte Lazarus 1.2.4 und die aktuellste Komponente von VirtualTreeVies ein.
Wenn ich das Ereignis "OnDrawText" einfüge erhalte ich beim kompilieren grundsätzlich die Fehlermeldung "Dupplicate identifier "Text". Selbst wenn das Ereignis keinen Code beinhaltet.
procedure TForm.TreeviewDrawText (
Sender : TBaseVirtualTree;
TargetCanvas : TCanvas;
Node : PVirtualNode;
Column : TColumnIndex;
const Text : WideString;
const CellRect : TRect;
var DefaultDraw : Boolean);
Es gibt auch keine Variable in meinem Code, die so lautet. Kennt das jemand, kann mir jemand helfen ?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: VirtualTreeView und DrawText

Beitrag von mse »

Der objfpc Compilermodus erlaubt keine gleichlautenden Bezeichner in Methodenpametern und Klassenelementen. "Text" kommt vermutlich irgendwo im Formular oder in dessen Vorgängern vor. Ich würde den "Text" Parameter sowohl im Interface- als auch im Implementationsteil nach "aText" umbenennen.

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: VirtualTreeView und DrawText

Beitrag von theo »

Ich würde in deinem Formular die Zeile

{$mode objfpc}
nach
{$mode delphi}
abändern.

Der Vorschlag von mse wäre schon besser, sollte aber vom Komponentenentwickler umgesetzt werden, sonst geht's beim nächsten Update wieder nicht.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: VirtualTreeView und DrawText

Beitrag von mse »

theo hat geschrieben:I
Der Vorschlag von mse wäre schon besser, sollte aber vom Komponentenentwickler umgesetzt werden, sonst geht's beim nächsten Update wieder nicht.
Ich meine nicht die Komponente sondern die Methodendefinition im Formular. Es müssen lediglich die Parametertypen übereinstimmen, die Parameternamen sind egal.

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: VirtualTreeView und DrawText

Beitrag von theo »

@mse: OK, da habe ich dich falsch verstanden.
Trotzdem wäre es am Besten, das in der Komponente zu ändern.
Es ist ja schliesslich eine reine Lazarus Portierung des VTV und sowieso nicht mehr mit Delphi kompilierbar.

Ronny58
Beiträge: 90
Registriert: So 27. Apr 2014, 20:35

Re: VirtualTreeView und DrawText

Beitrag von Ronny58 »

Hallo und Danke für die Tip's/Hinweise.
ich bin mir noch nicht sicher was ich jetzt mache. In Komponenten einzugreifen ist natürlich auch nicht ohne.
Das mit den Compiler-modes hab ich mir mal durchgelesen. Dritte Alternative ist, die Funktion weg lassen.
Ich lass das mal sacken bei mir.
Vielen dank an Euch

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: VirtualTreeView und DrawText

Beitrag von theo »

Ronny58 hat geschrieben:Hallo und Danke für die Tip's/Hinweise.
ich bin mir noch nicht sicher was ich jetzt mache. In Komponenten einzugreifen ist natürlich auch nicht ohne.
Ich glaube du hast den Hinweis von mse auch falsch verstanden.
Du musst das einfach nur in deiner Formular-Unit ändern, nicht im VTV Source.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: VirtualTreeView und DrawText

Beitrag von mse »

Ronny58 hat geschrieben: Ich lass das mal sacken bei mir.
Vielen dank an Euch
Zeig mal deinen Code der die Compiler Fehlermeldung erzeugt damit wir dir auf die Sprünge helfen können. ;-)

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: VirtualTreeView und DrawText

Beitrag von theo »

@mse: Es ist schon wie du angenommen hast. Dieser Eventhandler kompiliert nicht im objfpc Modus.

Code: Alles auswählen

Compile Project: Exit code 1, Fehler: 1, Hinweise: 1
unit1.pas(18,13) Error: Duplicate identifier "Text"
unit1.pas(18,13) Hint: Identifier already defined in unit CONTROLS at line 1396
unit1.pas(28,1) Verbose: There were 1 errors compiling module, stopping
 

Antworten