デバイスドライバとともにCOMオブジェクトってデジタル署名がいるもんだと思っていた。
いや、去年そういえばデジタル署名なんかCOMにつけなかったのをすっかり忘れていた。
UIDを登録していてそれが前のジャージョンのCOMのものと一致していればいいんだね。
今回作成したのはCristalReportsのUFLだ。
元号改正でレジストリを読むようになっているとはいえ、今後のランタイムのアップデートでどう表示されるのかわからない。
互換性は保たれるかと思うが、デフォルトでなんて表示するのか、元年なんて表示がされると、顧客の要求に合わない。
なのでCristalReportsから元号表示のためにCOM呼び出しでJapaneseCalenderクラスの関数を読んでしまう。
あれ?なんか先日書いたような・・・
まぁいいや。
ユーザー作成のCOMDLL(UFL)がCristalReportsから呼ばれるので、改ざん防止のUIDが必要になる。
これをデジタル署名と書いてしまったが、UIDでしかない。
デジタル署名もつけられるが、デバイスドライバとは違い、必須ではなかったのでもっぺん書いた。
つくったのはいいが、VB6互換フォーマット関数が新元号サポートされるとわかったので、VB6互換フォーマットのままのほうが、修正が少ない。
ということでVB6互換のままで作ってしまう。
将来的にはサポートされないし、ワーニングもでるが、そんな先はわからないしワーニングも抑制できる。
ワーニングの抑制はプロパティから変えると全部抑制されてしまうので、プロジェクトファイルに直接ワーニング抑制記述子を埋め込んでしまう。
めだたしめでたしだ。
あれっ?クリレポのはなしではなくなったような・・・いやUFLをVB6で作ってしまい、g,gg,gggの具別をつけさせるように実装するということがFormat関数でできてしまうということだ。
おしまい。