Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

TTreeNode.CustomSort (erledigt)

  Alt 18. Mär 2005, 11:42
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:
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.

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.
  Mit Zitat antworten Zitat