CArdinal несовместимый тип ошибки DelphiXE2 - PullRequest
1 голос
/ 08 ноября 2011

Я не совсем понимаю эту ошибку 'несовместимых типов' (Delphi XE2)

function TWaveBase.GetHandle: THandle;
begin
  if HandleNeeded then begin
    if HandleAllocated then
      CloseHandle;
    CreateHandle(False);
  end;
  FHandleNeeded:=False;
  Result:=FHandle;
end;

[...]

property Handle:Cardinal read GetHandle; -> ошибка здесь

1 Ответ

3 голосов
/ 08 ноября 2011

THandle - это тип, объявленный на основе Cardinal в Delphi XE. (Из-за 64-битной и кроссплатформенности он определен как NativeUInt в XE2). Это новый тип.

Если ваш GetHandle получатель возвращает THandle, ваша собственность также должна быть объявлена ​​как THandle. Измените это, и все должно работать нормально.

...