Задача: При компиляции проекта возникает ошибка E2065 Unsatisfied forward or external declaration.
Инструментарий: Delphi
Решение:
При компиляции проекта появилась ошибка
[dcc32 Error] <Module Name>.pas(<Line Number>): E2065 Unsatisfied forward or external declaration: ‘<Class Name>.<Method Name>
Рассмотрим упрощенный вариант кода который привел к ошибке:
...
type
TA = class
public
procedure DoSomesting; // <= ошибка тут
end;
implementation
end.
В целом если рассмотреть упрощенны вариант все стает предельно ясно. Нет реализации для метода (в моем варианте это метод DoSomesting). Для решения проблемы — нужно добавить реализацию для метода.
...
type
TA = class
public
procedure DoSomesting;
end;
implementation
procedure TA.DoSomesting;
begin
//
end;
end.
PS: Для автоматической генерации метода в секции implementation можно воспользоваться сочетаем клавиш Ctrl+Shift+C. (Только сперва установите курсор в область описания класса). Если даже после автоматической генерации кода возникает та же ошибка — проверьте код, возможно у Вас используется конструкция {$IFDEF…}{$ELSE}{$ENDIF} и код попал в неиспользуемую секцию.