Функция сравнения не может быть нестатическим методом класса, это должна быть либо отдельная функция, либо метод статического класса, что означает, что она не имеет параметра Self
для прямого доступа для доступа к любомукомпонентный объект, он знает только о 2 входных параметрах, которые указывают на сравниваемые записи.
Таким образом, единственный способ для вас косвенно получить доступ к объекту компонента внутри вашей функции сравнения - это еслиВы либо:
сохраняете указатель на объект компонента в глобальной переменной или threadvar
.
хранить указатель на объект компонента внутри самих записей.
использовать thunk для компаратора, где указатель на объект компонентахранится скрытым внутри самого блока (это метод, который VCL использует внутри, чтобы позволить обработчикам сообщений Win32 HWND вызывать TWinControl.WindowProc
для каждого объекта).