少し助けが必要です。友人が何年も前に構築したDelphiアプリを新しいバージョンのWindowsに移植するのを手伝っています。これは、現在Windows95でのみ実行されているためです。
このコードは、DB操作にWoll2Wollのサードパーティライブラリを利用しています。
これらのライブラリの1つは、エラーE2003 Undeclared識別子:'self'を生成します。
私はGoogle経由で多くのサイトを訪れましたが、Delphiに関する知識が限られていました(約12年前のPascalトレーニングから得て、少し錆びた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は、最後から2番目の行で、終わりのすぐ上です。
wwSaveAnswerTable関数は次のようになります。
Function wwSaveAnswerTable(ADataSet: TDBDataSet; AHandle: HDbiCur; tableName: string): boolean;
コンパイルエラーを停止するには、Selfパラメータを何に変更する必要がありますか?
スタックに感謝します。