コンストラクタ中のエラー

解決


Dai  2006-08-01 18:28:32  No: 22784

Delphi2005.NETにおいての質問です。
TFileStreamの派生クラスを独自で作成したのですが、コンストラクタ内でのエラーの捕捉でコンパイルエラーとなってしまいます。エラー内容は「'Self'は初期化されていない可能性があります。」なのですが、このエラーが出る理由が良く分かりません。どなたかご教授願います。
以下がコードです。
//------------------------------------------------------------------
constructor TFileStream3.Create(const FileName: string; Mode: Word);
begin
  try
    inherited Create(FileName, Mode);
  except
    on E: Exception do begin  //←この記述でエラーとなっている。
        (省略)      
    end;
  end;
end;
-------------------------------------------------------------------//


Syake  2006-08-01 20:29:10  No: 22785

違ってたらすいません。
.NETはあまり詳しくないです。

ただ、E: Exceptionの記述には手続きに引数にe: System.EventArgsが
必要だったような。
しかるに、この場合は  On E: Exception ・・・は記述できなかったよ
うな・・・。
取り合えずExceptionをHelpで。


Dai  2006-08-03 01:36:57  No: 22786

Syakeさん、ご返事ありがとうございます。

EventArgsについて、調べてみたのですが、ちょっと今回の状況の解決に
結びつける事が出来ませんでした(^^;
色々自分でも調べてみたのですが、なんとも解決しがたい内容のような
気がしてきて、仕方がないので、ExceptObjects関数で無理やりエラーの
取得を行ってみました。
これで良いとは思えないのですが、なんとかコンパイルが通り、動作も
出来たので、今はこれでいこうと思います。

結局正確な原因が分からないままですが、一応自己解決としておきます。
Syakeさん本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加