http://qiita.com/7of9/items/e818ad48aa4f6ee4f984
http://qiita.com/7of9/items/5d0117a0802cca97f5f9
上記の処理を別cppソースに分離していて引っかかった点について。
ひっかかった点
msg->OnInitializeISO = IdMessage1InitializeISO;
上記のIdMessage1InitializeISO
は以下のように定義していた。
void __fastcall TForm1::IdMessage1InitializeISO(System::WideChar &VHeaderEncoding,
UnicodeString &VCharSet)
{
VHeaderEncoding = L'B';
VCharSet = "ISO-2022-JP";
}
IdMessage1InitializeISO()やメール送信部分の関数を以下のどちらで実装するかでビルドの成否が異なる。
- C++実装
- インスタンスメソッド : ビルドできた
- 静的メソッド : ビルド失敗
静的メソッドの場合はE2034 'void(wchar_t &, UnicodeString &)'型は'TIdInitializeIsoEvent'型に変換できない
というエラーがでてビルドできなかった。