Мне нужна помощь; Я помогаю порту друзей, приложение Delphi построено лет назад для более новых версий Windows, поскольку в настоящее время оно работает только в Windows 95.delphi E2003 необъявленный идентификатор 'self'
В коде используются сторонние библиотеки из Woll2Woll для операций с БД.
Одна из этих библиотек генерирует ошибку E2003 Необъявленный идентификатор: «self».
Я прошел через несколько сайтов через Google и с ограниченным знанием о Delphi (из-за моего обучения Pascal около 12 лет назад и экстраполяции моих слегка ржавых навыков программирования PHP, BASH, ColdFusion и ASP) вы столкнулись с кирпичной стеной - я привязан ко времени и не могу понять информацию, которую я просматриваю в Интернете.
Проблемный сегмент кода из файла wwwQuery.pas и выглядит следующим образом:
{$ifdef wwDelphi3Up}
procedure TwwQuery.OpenCursor(InfoQuery: Boolean);
{$else}
procedure TwwQuery.OpenCursor;
{$endif}
begin
{$ifdef wwDelphi3Up}
inherited OpenCursor(InfoQuery);
{$else}
inherited OpenCursor;
{$endif}
//Modded by Arie
//wwSaveAnswerTable(self, Handle, FAnswerTable);
wwSaveAnswerTable(self, Handle, 'FAnswerTable');
end;
Точные сообщения об ошибках:
[DCC Error] wwQuery.pas(243): E2003 Undeclared identifier: 'self'
[DCC Error] wwQuery.pas(244): E2029 '.' expected but ';' found
[DCC Fatal Error] wwcommon.pas(285): F2063 Could not compile used unit 'wwQuery.pas'
линия 243 является второй последней строке, чуть выше конец;
wwSaveAnswerTable функция выглядит следующим образом:
Function wwSaveAnswerTable(ADataSet: TDBDataSet; AHandle: HDbiCur; tableName: string): boolean;
Что я должен изменить параметр автоспуска на, чтобы остановить ошибку компиляции?
Спасибо стек.
Это не ваш реальный код. Если вам нужна помощь, не отправляйте фальшивый код. –
Я согласен с Дэвидом. В любом случае 'begin' открывает новый блок, поэтому компилятор никоим образом не ожидает, что' end' будет последним в файле, потому что это потребует закрытия всех блоков. – Chris