IndyProtocols90
パッケージにIdMessageHelper.pas
ユニットを構築する際にエラーが発生します。 LoadFromStream
とLoadFromFile
のすべてのインスタンスは、署名に問題があると主張されていますDelphi 2005は、インディを構築できません。
[エラー] IdMessageHelper.pas(78):E2250これらの引数で呼び出すことができます「LoadFromStream」のないオーバーロードされたバージョンではありません
少なくともいないもののために - 私はIdMessageHelper
は、このバージョンに新しいですが、(例えばIdMessage.LoadFromStream
)と呼ばれています方法は、そのための引数は最後のいくつかのバージョンから変更されていないことを確認
procedure Internal_TIdMessageHelper_LoadFromStream(AMsg: TIdMessage; AStream: TStream;
const AHeadersOnly: Boolean; const AUsesDotTransparency: Boolean);
var
LMsgClient: TIdMessageClient;
begin
if AUsesDotTransparency then begin
AMsg.LoadFromStream(AStream, AHeadersOnly);
end else
begin
// clear message properties, headers before loading
AMsg.Clear;
LMsgClient := TIdMessageClient.Create;
try
Internal_TIdMessageClientHelper_ProcessMessage(LMsgClient, AMsg, AStream, AHeadersOnly, False);
finally
LMsgClient.Free;
end;
end;
end;
私には源がある。
これはD2005のクリーンインストールだったので、以前のバージョンとパッケージをすべて削除したことは間違いありません。
問題は 'IdMessageHelper.pas'と' IdIMAP4.pas'にあります。私は単にチェックを '{$ IFDEF VCL_2006_OR_ABOVE}'に変更して動作しました。ありがとうございました。 – fourwhey
クラスヘルパーはD2005で導入されました。なぜなら、D2005でコードが機能しない理由を理解したいと思います(特に、78行目でしか失敗しないので、右から50行目が 'TIdMessage'メソッドにオーバーロードされますそれは失敗しない、そう?)。 –
'LoadFrom ... Ex()'と 'SaveTo ... Ex()')に 'IdMessageHelper.pas'のヘルパーメソッドの名前を変更しても、50行目の元の' TIdMessage'メソッドそして78、問題はD2005で消えていますか? –