kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Cではもう作れない?

とっちゃんさん

私が実装(ATLベース)の参考にしたのは、CABSDKのサンプルと、WiXの該当部分ですね。

使い方がわからんって場合なら WiX も参考にはなりますが...インストーラ用の圧縮展開で必要なところしかないので、実用向きではないですね(^^;
とはいえ、CABSDK のサンプルは Win16 時代のものを Win32 にちょっと修正しただけのCソースだし...

もうC言語は読めるだけになってしまいました(きっとかけないだろうなぁw)。』

CABSDKのサンプルはほんとにみてびっくりしました。「こんなソースなのか!」って感じで。cab32.dll作った宮内さんもあきれたんじゃなかろうかと(笑)。まぁ、たいしたことはないので、たぶんArchiver DLLへの仕様のすりあわせ作業のほうが時間かかったんじゃないかなと思うくらい。
私もPure Cで書くのはちょっと難しいかも。まず一行コメント書いた時点で失格になってしまいそうです(笑)。後は文字型の扱うときにやはりめんどくささを感じますね。なんだかんだ言われましたが、CString使えるとなると、楽だし(^^;。
MFC使うと、イベントハンドラの処理でどうしても同じ関数を呼びだす処理が増えがちになるので、最近は苦痛になってきました(遅い?(^^;)。

  void CExtDialog::OnClickButton1(...)
  {
    universalFunc(m_oButton1);
  }

  void CExtDialog::OnClickButton2(...)
  {
    universalFunc(m_oButton2);
  }

  void CExtDialog::universalFunc(CButton& p_oButton)
  {
     // ごそごそ
  }

こんな感じで結局共通の関数を作って、イベントハンドラはそれを呼び出すだけ…ってなりがちな点が最近飽きてきたところです。