Delphi2009にJCL、JVCLをインストール その2

さて前回でJCLをインストールできました。

次はJVCLです。

JCLのインストールがちゃんとできていれば、インストーラはちゃんと起動します。

ちゃんとといっても

\jvcl\run\JvJCLUtils.pas(2565) 警告: W1057 文字列の暗黙的なキャスト (‘AnsiString’ から ‘string’)

の警告がざらざらと表示されます。
これはDelphi2009での文字コード変更にかかわることでしょう。

 

さて、インストールしますが・・・エラー発生!

 

エラーは

\jvcl\run\JvActions.pas(168) エラー: E2010 ‘TStrings’ と ‘TJclAnsiStrings’ には互換性がありません
JvCoreD12R.dpk(107) 致命的エラー: F2063 ‘..\..\run\JvActions.pas’ ユニットはコンパイルできませんでした

です。

 

ではJvActions.pasを確認。
run/JvActions.pasを開きます。

function TJvSendMailOptions.GetAttachments: TStrings;
begin
  Result := Mailer.Attachments;
end;

 

この部分がエラーのようですね。
Mailer.AttachmentsがTJclAnsiStringsなのにResultはTStringsになっているのが問題のようです。

面倒なので強制的にTStringsにキャストします(いいのか?)

 

  Result := TStrings(Mailer.Attachments);

コンパイルできました。(ほんとにいいのか?)

 

これでインストールすればOK。
ついにDelphi2009でJVCLが動きました!

さてほかにも入らないコンポーネントがあるので対処対処(疲