Inkompatible Typen 'Object' und 'Integer'
Beim Aufruf von
TStringList.AddObject(ClassName, TBSuche.Recno);
AddObject(const S: string; AObject: Object): Integer; override;
wird als zweites Argument ein Object erwartet, TBSuche.Recno ist allerdings ein Integer. In .NET unterscheidet man zwischen Wert und Refernztypen. Werttypen repräsentieren einen Wert und werden
direkt im Speicher abgelegt. Referenztypen sind Verweise auf Objekte im Heap.
In .Net können Werttypen ganz leicht in Referenztypen umgewandelt werden:
TObject(-Werttyp-)
Dies nennt man Boxing. D.h.die Lösung zum o.g. Ausdruck ist:
TStringList.AddObject(ClassName, TObject(TBSuche.Recno));
TStringList.AddObject(ClassName, TBSuche.Recno);
AddObject(const S: string; AObject: Object): Integer; override;
wird als zweites Argument ein Object erwartet, TBSuche.Recno ist allerdings ein Integer. In .NET unterscheidet man zwischen Wert und Refernztypen. Werttypen repräsentieren einen Wert und werden
direkt im Speicher abgelegt. Referenztypen sind Verweise auf Objekte im Heap.
In .Net können Werttypen ganz leicht in Referenztypen umgewandelt werden:
TObject(-Werttyp-)
Dies nennt man Boxing. D.h.die Lösung zum o.g. Ausdruck ist:
TStringList.AddObject(ClassName, TObject(TBSuche.Recno));
NinaInverse - 26. Jan, 16:25