前口上 小型で気軽に使えるLinuxサーバが欲しくてCHUWI HeroBoxをゲット。 試行錯誤をしまくって、何とかモノになったので覚え書き。 CHUWI HeroBox ミニPC 小型PC 8GBメモリー 256GB SSD Celeron N4100 プロセッサー Windows10 高速Wi-Fi/BT4.0/Type-C/USB …
ふとした疑問 std::vectorには最後尾の要素を取得するbackというメソッドがあります。 もし、vectorが空の場合backメソッドを呼ぶとどうなるのか実験してみました。 書いたコードはこんな感じ。期待する動作は空要素を返すか、何らかの例外を投げてくれるか…
C++BuilderとFireDACの小ネタ三連発
Delphi 10.3 Rioでは、Delphi言語のエンハンスとして、インライン変数宣言とインライン変数の型推論が導入されました。これによりDelphiでラムダ式(無名メソッド)が書きやすくなりましたのでご紹介します。ソースコードでラムダ式を使うメリットとしては以…
今度はJCLとJVCLのインストールに挑戦。 JCLとJVCLはGetItからダウンロード・インストールできるのだけど、JVCLはパッケージがインストールされない。 コンパイル済みのバイナリがあるのだけど、こっちもこっちで同じ。 ・30761 Jedi Code Library Snapshot …
はてなダイアリーからはてなブログに移行しての第一弾。ここ数年放置状態だったけど、これからは更新頻度が上がるはず。 ということで、RAD Studio 10.2.2 Tokyoのレビューのような物。 しかし、まぁ、立ち上げていきなりdark themeで立ち上がって驚いた。 V…
放置状態だったはてなダイアリーから移行してみた。 (旧) http://d.hatena.ne.jp/A7M/
この手のイベントに参加するのは本当に久しぶり。楽しい時間を過ごせました。 LTのネタは諸事情により2年3ヶ月ほど塩漬け状態な、コードフォーマッタープラグインネタ。あまり役に立たない、昨日使用したプレゼンを公開します。 ちなみに、プラグインそのも…
なし崩し的にDelphi Advent Calendar 2012に記事を書く羽目になった件について。(ぉぃ まぁ、実業務でのちょっとした覚え書きな件もあるので、いい機会だし久しぶりに更新してみる。ここ数年でプログラミング環境はUnicodeを意識せざるを得なくなった。DBの…
次期C++BuilderのC++コンパイラがLLVM/clangになる*1というので、早速いじってみた。まずはインストール。現時点でWindows上でclangを動かすにはmingwが必要とのことで、まずはmingwのインストール。 http://sourceforge.net/projects/mingw/files/Installer…
ある意味、ネタ満載の楽しい「キャンプ」でした。まとめるのが面倒なので、箇条書き。 C++Builder使いにとっては、今年は俺のターン!! お、俺はデモの神にそそのかされて無理矢理失敗させられたんだって感じで、最高のタイミングでデモの神が降臨するなwwwww…
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)の組み合わせであるよ…