GUI画面間のデータの受け渡しはグローバル変数で行うべきでない

ごく最近出くわして嫌な気分になった、C/C++のコードパターン例を一つ紹介します(MFCを使ったのWindows用GUIプログラムです)。

BOOL CMainWindow::AskUserAboutHoge() {
    CHogeDialog* dlg = new CHogeDialog( this );
    if( dlg->DoModal() == FALSE ) {
        delete dlg;
        return FALSE;
    }
    delete dlg;
    return TRUE;
}

このコード、オカシイですよね? 🙁

続きを読む “GUI画面間のデータの受け渡しはグローバル変数で行うべきでない”

(C#)internal interfaceとinterfaceを組み合わせて、DLL外に公開しないメンバを定義する

C#という言語を使い始めて7年ぐらいは経つわけですが、Azukiの実装中に長いこと不満に思っていたコトが一つ解決しましたので備忘録。 Azukiは一応最初からプラットフォームを抽象化して作ってあります。そのため、現在はW … 続きを読む (C#)internal interfaceとinterfaceを組み合わせて、DLL外に公開しないメンバを定義する

iPhoneでGmailを使う方法(プッシュ通知&省バッテリ)

AppleのiPhoneでGmailを使う場合、色々な方法でセットアップすることができます。そこで、次に挙げる2つの観点でいくつかの方法を比較してみました。

  • 通知のリアルタイム性(メール到着からiPhoneに通知が来るまでの時間の短さ)
  • 省エネ性(いかにバッテリー消費を節約できるか)

私なりの結論は、Googleが提供しているiOS向け「Gmail」アプリをメインで使用しつつ、標準の「メール」アプリで1時間おきにメールを受信する構成がベストとなりました。以下、私が調べて分かったことなどを記しておきます。

なお技術的には、ここでの「iPhone」は「iOS 6」と読み替えるとより正確です。

続きを読む “iPhoneでGmailを使う方法(プッシュ通知&省バッテリ)”

テキストエディタの「選択範囲」という概念について、2点

最近いろいろな意味でヤル気が無くなっていたけれど、久しぶりに更新。一年以上何もか書かなかったか。まあそれもまたよし。今日はテキストエディタの「選択範囲」という概念について、2点書いておこう。さすがにTwitterにはつぶ … 続きを読む テキストエディタの「選択範囲」という概念について、2点