2011-01-01から1年間の記事一覧
Ubuntu 11.10をインストールしたのだけど、気に入らないところがあったのでカスタマイズしてみた。 GUIシェルをgnome-shellにする。 個人的にUnityは好きになれないので、従来のgnome-shellにする。 端末を開いて以下のコマンドを実行。まず、apt-get update…
QAで指摘があった件を試してみました。 TListViewのグルーピングがうまくいかなかった件 本当は、こんな感じに表示されるはずでした。 テストは、64bit版のWindows 7でテーマ有効。実機はWindows 7の32bit版。この辺の差異かな…。 TDirectory.GetFilesでファ…
明日のセッションA4「アンドキュメンテッド(?) VCL 〜逆引きVCL新機能〜」は自分の諸事情により急遽講演中止となりました。 セッションを申し込まれた方、大変申し訳ありません。明日の分は、後日Webセミナーとして実施する予定です。
メインマシンのセキュリティソフトをウイルスバスターからエフセキュア インターネット セキュリティ 2011に乗り換えたのだけど、RAD Studio XEを起動すると「使用許諾コードが不正」と判断されてRAD Studioが起動しなかった。 これは、エフセキュア インタ…
C++BuilderではOpen Tools APIを使ったアドオンをデバッグできない件があり、これをQC#92188として登録したのだけど、Embarcaderoから回答があって一応の解決法が見つかりました。以下の手順でアドオンのデバッグが可能。 OTAを使ったプロジェクトをC++Build…
C++Builderで試した、Mozillaのエンコーディング自動判別ライブラリである「universalchardet」をDLL化したのをDelphiで動作させてみました。バイナリはhttp://a7m.sakura.ne.jp/SOURCE/universalchardet-CB.7zに用意したもので、C++Builder XE(BCC32.EXE 6.…
7/21のオンラインセミナーは、13/14回デベロッパーキャンプでやったポインタというかメモリ管理ネタの再演。 このネタの評判がいいとの話しでオファーがあったのでオンラインセミナーとして再演します。9/6の第20回デベロッパーキャンプは「アンドキュメンテ…
デリーターとは スマートポインタが管理できるのは、メモリ領域だけではなく「構築」と「破棄」がペアになっている任意のリソースも管理できる。 例えば、Cのfopen関数でオープンしたファイルをfclose関数でクローズしたり、あるいは、Windows APIのGDIオブ…
コマンドプロンプトの補完アプリであるConsole2を導入してみる。 アーカイブはプロジェクトページの[Files|console-devel|2.00]より、最新版をダウンロード。 Console2はそのままだと日本語が入力が出来ないので、http://wiki.pythonpath.jp/moin/ConsoleIme…
shared_ptrを使ってみる unique_ptrが変数の寿命が尽きた段階でメモリ領域を開放するのに対し、shared_ptrは参照カウンタを持ち参照カウンタがゼロになるとメモリ領域を開放する。 #include <tchar.h> #ifdef __BORLANDC__ #include <boost/tr1/memory.hpp> namespace std { using namespace</boost/tr1/memory.hpp></tchar.h>…
TBalloonHint::ShowHintに問題があるみたいで、代替にJVCLのTJvBalloonHintを使うというエントリーを書いたのだけれども、Embarcaderoの高橋さんからコメントがあって、再テスト。自分の勘違いで問題が無いことが確認できたのだけれども、以下の点に注意。 T…
スマートポインタって何? C++において、operator newでメモリ領域(ヒープ領域)を動的に確保した場合、その領域はoperator deleteでプログラマが責任を持って解放してやらなければならない。しかし、deleteを書き忘れたり、例外が発生したときの処理を怠っ…
半ば個人的な手順書。少々怪しいかも。すべてCUIで行う場合を想定。 開発ツールのインストール デフォルトではgccとか入らないので。 # yum groupinstall 'Development Tools' 'Development Libraries' PHP5.3をインストール デフォルトのPHPは5.1なので、5.…
参加者の皆様お疲れ様でした。プレゼンの最初でいきなりしくじってしまいましたが、何とか完走できたつもりです。不明な点等ありましたらコメントください。 C++Builderでの問題点 なぜか、IDEの言語が日本語だとC++Builderで作ったアドオンがデバッグ出来な…
東北関東大震災の影響により、デベロッパーキャンプの開催形態がバーチャル(オンラインセミナー)形式に変更になりました。会場参加の場合、いつもは印刷したレジュメを会場で配るのですが、今回は事前にオンラインで配布することとなりますので注意してく…
昨日のネタのうち、キャスト関連は思い込みとか理解不足なところがあったので、実際に動かしてみた。 //--------------------------------------------------------------------------- #include <iostream> #pragma hdrstop #include <tchar.h> //----------------------------</tchar.h></iostream>…
「C++プログラマであるかを見分ける10の質問」に答えてみた。自分の解釈だとこんな感じ。正解かどうか、特に2のreinterpret_castと10は自信なし。ちなみに、Java版は/.Jの日記で。 1. iterator の役割について説明せよ. ポインタがメモリのアドレスを指し示…
エディタの編集バッファ ビュー(IOTAEditView)のBufferプロパティがソースエディタ内部のバッファで、ソースファイルの中身を編集する。インターフェースはITOAEditBuffer。 ソースエディタが1つのファイルをオープンしている場合、ビューは複数あっても、…
モジュール モジュールとはIDEがアクセスする抽象的なエディタの組み合わせのことで、Delphi/C++Builderのプロジェクトにおけるユニットに相当。ユニットがソースファイル(*.pas/*.cpp)やヘッダファイル(*.h)、フォームファイル(*.dfm)の組み合わせであるよ…
毎度お馴染みですが、第19回 エンバカデロ・デベロッパーキャンプでまたしゃべります。 内容は、過去に掲載したOpen Tools APIに関する3点と、 Open Tools API その0:概要 - C++Builder好きの秘密基地 Open Tools API その1:"Hello,World!"を表示してみる…
かねてから要望が多かった個人向けエディションのC++Builder XE Starter/Delphi XE Starterが発表。Delphi関連は有志の方がまとめてくれているのでC++Builderの分について少々。 Delphi/C++Builder XE Starterの機能制限 DEKOのざつだん。 個人的にC++Bu…
かねてから、Pro版で使用可能なFirebird/Interbase用のコンポーネントを探していて、 Unified Interbaseコンポーネントをつかってみた(その1) Delphiッこ倶楽部東京出張所でUnified Interbaseコンポーネントの解説記事 という記事がポストされていたので…
QC#66768によると、TBallonHintは任意の位置にバルーンヒントを表示できないっぽい*1ので、代替としてJVCLのTJvBalloonHintを使ってみる。TJvBalloonHintはTBallonHintをJVCLが拡張したコンポーネントでは無いので、使い方が根本的に違う。あと、現時点での…
通常のポップアップヒントでは出来ない強調表示や文字の色変えをHTMLで定義して描画してみる。ただ、ポップアップヒントを表示する目的だけでIEコンポーネントやGeckoを使うのはヘビーなので、JVCLが用意してくれている簡易HTMLレンダリングルーチンを使用。…
フォーム作成時のエラー処理でちょっとハマったので、ほとんど覚え書き。アプリケーションの設定ファイルをアプリケーションと同じフォルダに置くことはよくあること*1だけど、設定ファイルが無い場合はデフォルト値で初期化するのではなく、アプリケーショ…
だ、そうです。 ちうことで、MacBook Air 11インチ欲しい!
C++のコンテナ類を列挙するときに便利なのがboost::foreach。可変長配列であるvectorを列挙する場合は以下の感じ。 //--------------------------------------------------------------------------- #include <iostream> #include <string> #include <vector> #include <boost/foreach.hpp> #include <tchar.h> //-</tchar.h></boost/foreach.hpp></vector></string></iostream>…