お世話になります。Delphi2007Proを使用しています。
BASE64のユニットをネットで探した所、以下のサイトで発見しました。
http://www.kobira.co.jp/sakura/d_net_mail.htm
この中にあるbase64.pasをdelphi2007で再構築すると、次のように
コンパイルエラーと警告が発生します。
----------------------------------------------------------------------------
[DCC エラー] base64.pas(68): E2008 互換性の無い型です
[DCC エラー] base64.pas(78): E2008 互換性の無い型です
[DCC エラー] base64.pas(86): E2008 互換性の無い型です
[DCC エラー] base64.pas(113): E2010 'Array' と 'Char' には互換性がありません
[DCC エラー] base64.pas(119): E2008 互換性の無い型です
[DCC 警告] base64.pas(133): W1022 比較結果は常に True に評価されます
----------------------------------------------------------------------------
正直、自分の能力では修正できず、困り果てています。
修正、もしくは対策など教えていただけると助かります。
>base64_1.zip (5K) 97/05/09 [Base64]
でしたら、Delphi2007Proでプロジェクトを開き、(エラーは出ず)コンパイル&実行できました。
エラーの「互換性〜」に関しては、プロジェクトオプションのコンパイラにある、
「型付き @ 演算子」のチェックが入ってるからでは?
私はD6しか分かりませんが、たぶん同じかと。そこにヘルプボタンがあれば、押すと
「@ 演算子が戻すポインタの型を制御する。{$T} に対応する」とか出てくると思います。
警告の「比較結果は常にTrue〜」に関しては、( Byte(0) <= c ) が常に成立しますね。
igyさん、助監督(仮名)さん、レスありがとうございます。
助監督さんの仰る通り、「型付き @ 演算子」のチェックを外した所、
コンパイルできました。
別件のプロジェクトオプションでは、オフになっていたので、
何かしらの表紙にチェックしてしまった可能性が高いです。
お手数をおかけしたましたが、おかげさまで助かりました。
ありがとうございます。
余談になりますが、Delphiには標準でEncdDecdというユニットが入っており、
これを使うことでもBase64のエンコードとデコードを行うことができます。
ツイート | ![]() |