Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism TTreeNode.CustomSort (erledigt) (https://www.delphipraxis.net/42405-ttreenode-customsort-erledigt.html)

Alter Mann 18. Mär 2005 11:42


TTreeNode.CustomSort (erledigt)
 
Hallo,

bin gerade dabei eine Delphi7 Unit nach Delphi .Net umzusetzen.
Jedoch klappt die Sache nicht ganz so wie gewünscht, da der Compiler an folgender Stelle:
Delphi-Quellcode:
if Node.HasChildren then Node.CustomSort(@TreeSortFunc, 0);
mit der Fehlermeldung: "E2010 inkompatible Typen: 'Variant' und 'Integer'" (Cursor steht hinter dem Komma) stehen bleibt.

Also in der Hilfe nachgeschaut und festgestellt das die Deklarationen sich zwischen .Win32 und .Net unterscheiden.
Zitat:

.Net
public function CustomSort(SortProc: TTVCompareProc, Data: Variant, ARecurse: Boolean): Boolean;
.Win32
public function CustomSort(SortProc: PFNTVCOMPARE, Data: Integer, ARecurse: Boolean): Boolean;
Wie muss ich nun die 'TreeSortFunc' übergeben, das es nicht mehr zu diesem Fehler kommt?

Gruß
Alter Mann

Die Lösung:

Sie lag ganz wo anders.

Delphi-Quellcode:
TTVCompareProc = function(lParam1, lParam2: TTreeNode; lParamSort: TTag): Integer;
bisher war 'lParamSort' vom Type Integer, jetzt vom Type TTag = Variant.

Also den Namenspace 'Borland.Vcl.Variants' eingefügt, schon ging es wieder.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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