前回でオリジナルのIDListを移植したのC#版の解説を完了しました。今回は先ずそのコンパイルの方法と完成版の動作試験(現在のところ申し分ありません)における印象をお伝えしてお開きにしましょうか。
先ずはコンパイル方法です。前に触れたとおり、IDListのC#版を動かすには次のファイル(注)が必要です。
注:BCCForm and BCCSkeltonパッケージの".\SampleBCCSkelton\MSCompAss\Debug\Samples\IDList_CS\"フォールダーの模様です。
MSCompAssを使う場合は、
(1)IDList_CS.csファイルをOptionダイアログを次のように「出力ファイル」を"/target:libray"(dll)してコンパイルし、
(2)次にIDList.csファイルをOptionダイアログを次のように「出力ファイル」を"/target:winexe"、リソースを"IDList.resources"に指定、プログラムアイコンを"IDList.ico"に指定、「DLL参照」に今作った"IDList_CS.dll"を指定してコンパイルします。
「そんな面倒なことはイヤっ!」と言う人もいようかと、上記の操作をバッチ処理したIDList_CS.batを作っておきましたので、それをダブルクリックすれば全て一瞬で終わります。
これでC#版のIDList.exeが出来上がりますので、起動した後は(最初はおっかなびっくりでしょうから)当たり障りのないwebサイトで使うようなIDとパスワードを入れてみてください。
さて、今までC++とBCCSkeltonで作ったオリジナルのIDListを使ってきた私が、実際に(そのデータをUTF-8に変え)C#版のものを使ってみて感じたことを紹介しましょう。
オリジナルのC++版と移植したC#版の一番大きな違いはオリジナル版で使っていたDPAPIのダイアログ
が.NETベースでは使えなくなったことでしょうか?しかし、パスワード保護は使えなくともデータはDPAPIによる暗号化はなされていますので影響は非常に大きくはないでしょう。
二番目に挙げる違いは(矢張りDataGricView-BindingSource-Listの同期処理によるのか、)表示等実行スピードではC++のネイティブプログラムの方が勝るように感じられました。
【2021年-C++版】
(解説:よくよく見ると未選択の場合、メニューとツールバーボタンが殺されていますね。小技が細かい。)
しかしC#版は、逆にプログラムが64bitベースになり、プログラム構造が明確化され、可読性が高くなったことでプログラミング的には勝っているとも言えます。
【2026年-C#版】
私自身から言えば、矢張りEmbarcadero C++(32bit版ですが...)+BCCForm and BCCSkeltonで作ったIDListを今も愛用しており、今後も(OSがゆるすかぎりは )使い続けるんじゃないかな(注)、と思いますが、
注:既に金融機関を中心として「ID、パスワード方式」から「パスキー方式」への移行が始まっているので、IDList自体の必要性は今後低くなってゆきますが...爆!
C#(Even with one of the version 5.0)+ DataGridView + BindingSource + List
での表型アプリの開発、
とても簡便で作りやすく、お勧め
というのが結論です。






