サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
d.hatena.ne.jp/A-penguin
※フォームアプリケーションの場合。CheckedChangedイベントハンドラでCheckedの値を戻す方法はすぐ思いつくけど、一度チェックされた後元に戻す過程が見えてちょっとかっこ悪い。CheckedChangingイベントがあってキャンセル出来ればいいのだけど、そういう仕組みもない。AutoCheckプロパティをFalseにしておけば自動でチェック状態が変わらないようになるので、これを利用して手動でチェック状態を変えてやればOK。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RadioButton1.Checked = True RadioButton1.AutoCheck = False
.NETアプリケーションの場合、例外が発生したときはExceptionオブジェクトからスタックトレースを見ればエラーの原因が分かる場合も多いのですが、アンマネージコードを使用している場合はよく分からないエラーに出くわすことがあります。例えばこんな感じ。 System.AccessViolationException: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。 場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageA(MSG& msg) 場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManage
VB.NETではWithEventsキーワードがあり、クラスに定義されたイベントに対するイベントハンドラを簡単に記述することが出来ます。簡単な構文なので、C#にもWithEventsのようなものがあっても良いのになぁと思うのですが、簡単であるが故に思わぬ副作用もあります。まず、VB.NETであろうとC#であろうと、中間言語(IL)へコンパイルされます。.NET Frameworkに付属しているIldasm.exeやオープンソースのILSpyなどを使用すれば、コンパイルされたILがどのようになっているか簡単に確認出来ます。WithEventsキーワードを指定した場合、そのメンバ変数は概ね以下のように置き換えられます。 Private WithEvents Button1 As Button Private Sub Button1_Click(ByVal sender As Object, e
先日の記事の件は原因が分かりました。 gflags -p /full /enable imagefilename上記コマンドで全ページヒープを有効化。 char *p = NULL; p = new char[8]; ZeroMemory(p, 16); 上記プログラムを実行。コンパイルオプションに "/MDd" が指定されているのが問題のようで、"/MD" を指定してコンパイルすると無事(?)アクセス違反になってくれました。 (1320.232c): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. MSVCR100!me
このページを最初にブックマークしてみませんか?
『d.hatena.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く