サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
cjohn.hatenadiary.org
パッと見で全然分からなかったバグコード if(!this-IsComplete()) { return true; } 想定の逆が返ってくるからなんだろうとよくみると、「this->」のつもりが「this-」になってた。 コンパイル通るもんだねぇ。 「!this - IsComplete()」つまり、thisアドレスに対して!した結果引くIsCompleteの結果ということ。 !thisは常にfalseになるので「false - (true or false)」という演算になっていた模様。 気になったからVS2008でbool同士の演算をやってみた 演算子 結果 true + true true true + false true false + true true false + false false true - true false true - false true false
OpenOffice.org Impressを使って資料を作ってて困ったことがあったのでメモ。 適当な画像をドラッグ&ドロップで持ってくる。 このまま保存したあと、元画像を削除するとImpressファイルを開いたときに画像が表示されなくなってしまう。 画像を選択するとステータスバーに「リンクされたビットマップ」と表示されるのでImpressファイルには画像のリンク先のみが保存されている模様。 このままでは発表時に困ってしまうのでImpressファイルに埋め込みたい。 手順はメニューの「編集」→「リンク」を選択。 リンクされているファイルの情報が表示されるので「取り消す」ボタンを押す。 なんか「取り消す」って言われると画像を消しそうな感じだけどこれでリンクが解除されて埋め込まれます。
マイクロソフトのMSChartってのがあるのを今頃知った ダウンロード先:Microsoft Chart Controls for Microsoft .NET Framework 3.5 サンプル:Samples Environment for Microsoft Chart Controls 適当にサンプルを実行してみる かなりの充実。 .Netで使えるグラフライブラリとしてはかなり使えそう。 メリット 使えるグラフの種類がめちゃくちゃ多い デメリット .NET 3.5環境必須 インストールが必要?
Microsoft® SQL Server® 2008 Management Studio Expressなんてものがでてたので早速インストール。 DBの勉強はさっぱり進んでないのですが、ツールだけはとりあえず入れとこうかと。 インストールにWindowsインストーラ4.5が必要だったり、PowerShell 1.0が必要だったりで1時間くらいかかりました。 その後、VisualStudio2008を使ってたらインテリセンスが再び英語になっているのに気が付いた。 以前、VS2008→SP1で英語になったのが再発。 しかたないので再度KB957507 - Loc Intellisense to replace all Loc Int shipped with VS 2008 SP1を当ててインテリセンスの日本語化。
Windowsでプロセスの二重起動の防止にはミューテックスが使われます。 サンプルなどをみると簡単なのですが、意外とハマる罠があるので注意しましょう。 ちなみに以下のサンプルコードはVC2008で試しています。 罠1:OpenMutexしてはいけない #include <windows.h> #include <tchar.h> #include <stdio.h> #include <locale.h> //_tsetlocale用 #include <conio.h> //getch用 int _tmain(int argc, _TCHAR* argv[]) { _tsetlocale( LC_ALL, _T("Japanese") ); //_tprintfで日本語を表示させるために必要 HANDLE hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, FA
Advanced Windows 第5版 上をパラパラ見てたら普通にハマりそうなものを見つけたので実際に試してみた。 CreateProcessの第2引数がPCTSTR(const文字列)ではなくPTSTR(非const文字列)になっていて、内部では引数の文字列を変更すると書かれている。 なのでこの引数に読み取り専用領域を渡すとアクセス違反が発生するらしい。 早速Visual Studio 2008で実験。 (なお2008より古いコンパイラはこのコードでも読み取り専用領域に文字列を確保しないため動作するらしい) #include <windows.h> #include <tchar.h> #include <stdio.h> #include <locale.h> //_tsetlocale用 int _tmain(int argc, _TCHAR* argv[]) { _tsetloc
最初に ロックしているファイルを探すならUnlockerを使った方が楽です。 Process Explorerでも手間はかかるけど同じことができるよってことを試します。 Process Explorerを使う まずは適当にファイルを作り適当なアプリでロックします。 ファイル名を「LockTest.txt」とし、削除をしようとしたところです。 「別のプログラムがこのファイルを開いているので、操作を完了できません。」とまさにその通りのエラーが発生しました。 では「別のプログラム」を探します。 Process Explorerを起動し、メニューの「Fid」→「Find Handle or DLL..」を選択。 「Handle or DLL substring」にロックしているファイル名(LockText.txt)を指定し、「Search」を押します。 すると指定した名前のHandleを持つプロセ
このページを最初にブックマークしてみませんか?
『cjohn.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く