タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

C++とCOMに関するbabydaemonsのブックマーク (1)

  • _variant_t を使用して、楽して安全にデータ変換 | あいそびの開発ノート

    VBやVBAJavaScriptなどでは、バリアント型というのがあって、どんな値も同じように楽に扱う事が出来ます。 変換もほとんど勝手にやってくれます。うらやましいですね。 でも大丈夫!VCでもバリアント型を使う事が出来ます!というお話。 Microsoft固有ですが、_variant_t という COM による VARIANT のサポートクラスを使用する事で、面倒な型間データ変換を安全に行う事が出来ます。 自分で実装すると、いろいろと問題が起こりがちです。 自分よりも優れた他人が作ったものを信用しよう!という趣旨で、行ってみます。 最初に _variant_t をお好みの値で初期化します。 _variant_t は バリアント型なので、(語弊はありますが)どんな値でも入れる事が出来ます。 数値で初期化するには、 などとします。 キャストしているのは、その値が整数型なのか、浮動小数点型な

    _variant_t を使用して、楽して安全にデータ変換 | あいそびの開発ノート
    babydaemons
    babydaemons 2017/02/08
    某O社系ベンダが作ったミドルウェアはcatchしてない件。orz "_varinat_t にて変換を行うときには、try ~ catch 構文を使用する必要があります。変換エラーの時には、COMの例外を投げてくるからです。"
  • 1