При передаче имени процедуры как параметра возникает ошибка:
wrong number of paameters specified
=======================================
program project1;
{$mode objfpc}{$H+}
uses
Classes
{ add your units here };
type
TtdCompareFunc = function (aData1, aData2: pointer): integer;
function CompareSpritesForDraw(aData1, aData2: pointer): Integer;
begin
end;//TEngineDisplay.CompareSpritesForDraw
function TDMergeSort(const aFirst,
aLast: integer;
aList: TList;
aCompare: TtdCompareFunc): Boolean;
begin
end;
var
List: TList;
begin
TDMergeSort(0, 10, List, CompareSpritesForDraw);
end.
=======================================
Если же заремить "{$mode objfpc}{$H+}", то компиляция проходит без ошибок. При том, что совместимость с Делфи включена в опциях компилятора... :blink:
Это повторяется и в фрипаскале 2.0 и в лазарусах Lazarus-0.9.7-20050607-win32.exe и Lazarus-0.9.9-20050722-win32.exe ...
Сейчас качаю официальный 0.9.8.
В то же время в большём проекте этот финт приводит к тому, что Лазарус не понимает, что такое class
Я с фрипаскалем недавно работаю... Подскажите что крутить.