カテゴリー: general

  • CodeGear C++Builder の property

    気になったので CodeGear C++Builder 2007 で試してみました。

    // THoge.hpp
    #ifndef THogeHPP
    #define THogeHPP
    class THoge
    {
    private:
    int f_count;
    void set_count(int n);
    int get_count();
    public:
    THoge();
    ~THoge();
    void doSomething();
    // __property int count = {read = f_count, write = f_count};
    __property int count = {read = get_count, write = set_count};
    };
    #endif
    
    // THoge.cpp
    #include "THoge.hpp"
    THoge::THoge()
    {
    f_count = 0;
    }
    THoge::~THoge()
    {
    //
    }
    void THoge::doSomething()
    {
    f_count ++;
    }
    void THoge::set_count(int n)
    {
    f_count = n;
    }
    int THoge::get_count()
    {
    return f_count;
    }
    
    // Unit1.h
    // (omitted)
    private:	// ユーザー宣言
    THoge *hoge;
    // (omitted)
    
    // Unit1.cpp
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
    {
    hoge = new THoge();
    hoge->count = 100;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    hoge->doSomething();
    int c = hoge->count;
    AnsiString s;
    s.sprintf("hoge %d", c);
    Edit1->Text = s;
    }
    

    というようなものがちゃんと動きました。

    __property という予約語は自分で勝手に作ったクラスで使える、ということのようです。Visual C++ の CLI でも property が使えるそうですが、CodeGear だと .NET じゃない Win32 でこれが使えるわけですね。

    THoge クラスで予約語 __published: を使おうとしたらコンパイルエラーになったので、こちらは VCL 関連のクラスを継承していないとダメみたいです。

    CodeGear RAD Studio の Help にはほとんど書かれていない C++ の property 拡張ですが、ここに説明がありました:

  • 明日への遺言

    映画「明日への遺言」が封切られてヒット中だそうです。私は昨年秋に、東京国際映画祭の特別招待作品として渋谷オーチャードホールで観てきました。映画祭に行くのも初めて、舞台挨拶も初めてで、あいにくの天気でしたが、貴重な「お祭り気分」を楽しむことができました。知人がエンドロールに名前を連ねていたのも嬉しかったのですが。

    上映後、主演の藤田まことさんが挨拶の最後に「15秒や20秒でオチをつけなくてはいけない昨今、もっとゆっくりした時代に戻っていってほしい」といったことを言われました。監督の小泉堯史氏が、「来年3月の公開のときの観客動員が一番心配だ」と言っておられました。そのくらい「頑張らないと観てもらいにくい」映画であり、「頑張って多くの人に観てもらうべき」映画だと、制作者たちが自覚しているのだろう、と思って話を聞きました。

    ひたすら「語ること」で物語が進み、「語ること」だけが観客の心を動かしていく、そんな映画です。戦争に関する映画なのですが、派手なシーンはなく、特殊な状況が言葉によって淡々と描写されていきます。

    そして紡がれる言葉によって明らかになっていくのは、「法」や「組織」といったシステムの不透明で不気味な力です。「責任を取ること」を放棄した経営者や官僚たちが起こした昨今の数々の不祥事を思うと、複雑な気持ちになる。そんなことを考えながら映画館を後にしました。

    あれから数ヶ月、相変わらず「責任の取り方」については不愉快なニュースが続いています。

  • MagicPoint

    そして研究会2日目の金曜日。自分の研究会をセッション一つだけ抜けて、同じ島根大学の中で開催されていたまつもとゆきひろさんの学生向け講演会に顔を出してきました。

    終了後、どぎまぎしながら、名刺交換させていただきました。ThinkPad を閉じようとしているまつもと氏とこんな会話を。

    プレゼンテーションソフトは何を?

    MagicPointです。

    あー、ありましたね(なんて失礼な。。)

    じゃあLinuxなんですね。

    そうです。あー、失敗した(うまく shutdown しなかったらしい)

    お話お上手ですね(なんて失礼な。。)

    私はろくなこと言ってませんね。あちゃあ。

    後半の討論会は最初しか参加できませんでしたが「地域振興の切り札」に祭り上げられたまつもと氏を見ていると、もっとそっとしてあげたい気がしました。

    そんな話を島根大学の縄手先生にしたら「島根県のサイトの読み上げをGalateaTalkでやってたときに、半角仮名文字を読み上げないから文字コード変換をして…とか、まつもとさんが御自身でなさってたみたいですよ」とのこと。そんなNaClさんの足手まといになったGalateaTalkの関係者であることを私はあの場で名乗らなくてよかったのかも知れない。。と思いました。

    あれ以来、Ruby on Rails による VoiceXML アプリケーション開発についてつらつらと検討中です。