base64.pas をD2007で再構築するには?

解決


たむら  2010-12-21 04:02:32  No: 39741

お世話になります。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 に評価されます
----------------------------------------------------------------------------

正直、自分の能力では修正できず、困り果てています。
修正、もしくは対策など教えていただけると助かります。


igy  2010-12-21 06:52:20  No: 39742

>base64_1.zip (5K) 97/05/09 [Base64]

でしたら、Delphi2007Proでプロジェクトを開き、(エラーは出ず)コンパイル&実行できました。


助監督(仮名)  2010-12-21 07:16:36  No: 39743

エラーの「互換性〜」に関しては、プロジェクトオプションのコンパイラにある、
「型付き @ 演算子」のチェックが入ってるからでは?
私はD6しか分かりませんが、たぶん同じかと。そこにヘルプボタンがあれば、押すと
「@ 演算子が戻すポインタの型を制御する。{$T} に対応する」とか出てくると思います。

警告の「比較結果は常にTrue〜」に関しては、( Byte(0) <= c ) が常に成立しますね。


たむら  2010-12-21 20:00:12  No: 39744

igyさん、助監督(仮名)さん、レスありがとうございます。

助監督さんの仰る通り、「型付き @ 演算子」のチェックを外した所、
コンパイルできました。
別件のプロジェクトオプションでは、オフになっていたので、
何かしらの表紙にチェックしてしまった可能性が高いです。

お手数をおかけしたましたが、おかげさまで助かりました。
ありがとうございます。


ひむら  2010-12-22 00:37:14  No: 39745

余談になりますが、Delphiには標準でEncdDecdというユニットが入っており、
これを使うことでもBase64のエンコードとデコードを行うことができます。


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

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






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