( Публикация этого ответа в качестве ответа, поскольку в комментарии теперь достаточно текста )
Я думаю, что было бы полезно указать, что проблема называется SCOPE.
Допустим, у вас есть следующий код, который генерирует ошибку «Отсутствует оператор или точка с запятой»:
procedure DoSomething(HWND: THandle);
var
text: string;
someArray: array[0..256] of char;
begin
text := GetWindowText(HWND(PointerList[i]), someArray, 256);
end;
В качестве подсказки отладки , если навести курсор мыши на HWNDв GetWindowText вы получите всплывающую подсказку типа " Var HWND: Cardinal - Unit1.pas (100) " 100, представляющий собой номер строки.По сути, компилятор «видит» параметр функции HWND в вашей функции вместо типа Windows HWND в Windows.pas.
Используя эту технику, вы можете точно определить, что представляет собой каждый элемент (функция, тип, переменная и т. Д.)на самом деле указывает на как видно из компилятора .