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.