मैं अंतर्निहित सॉर्ट विधि का उपयोग करके अपनी जेनेरिक tobjectlist को सॉर्ट करना चाहता हूं।डेल्फी परेशानी: एक Tobjectlist को छंटनी <>
//create the list object
myList := TObjectList<MyType>.Create(false);
[...] //populate the list with unsorted entries
//sort the list
myList.sort(@Comparer);
[...]//store sorted results back to array
myList.Destroy;
मेरी comparer समारोह इस तरह दिखता है:
function Comparer(Item1, Item2 : pointer):integer;
begin
result := myCompare(item1, item2);
end;
चश्मा के अनुसार, यह इस तरह से काम करना चाहिए
यहाँमैं क्या कर रहा है।
मैं इन मानकों के साथ मौजूद एक संकलक त्रुटि E2250 की 'क्रमबद्ध' नहीं अतिभारित संस्करण प्राप्त (सटीक शब्द अलग है, मैं रेड स्टूडियो के एक गैर अंग्रेज़ी संस्करण का उपयोग)
मुझे पता नहीं है क्यों यह नहीं करना चाहिए वैध पास्कल बनें - क्या आप में से किसी को इस पर साझा करने की अंतर्दृष्टि है?
procedure Sort(const AComparer: IComparer<T>);
IComparer<T>
के रूप में परिभाषित किया गया है: के रूप में
हालांकि लियोनार्डो और मैंने अधिक विस्तार की पेशकश की, रॉब का जवाब आपके लिए सबसे उपयोगी है। कंपाइलर आमतौर पर स्पष्ट कारण देता है कि यह किसी चीज़ को क्यों ऑब्जेक्ट करता है। –