z64423のプロフィール

@z64423 z64423
ありがとう数55
質問数8
回答数77
ベストアンサー数
26
ベストアンサー率
53%
お礼率
72%

  • 登録日2004/10/17
  • CImage::ReleaseDC()のエラーで困っています。

    CImage::ReleaseDC()のエラーで困っています。 ウインドウ上に複数の画像を表示し、それぞれ配置や大きさを マウスのD&Dで変えられるようなアプリを作っています。 Visual Studio 2005 C++, MFC 画像はCImageクラスのm_ImageへLoadしてあります。 GetDCでハンドルを取得しているので、ReleaseDCにて開放を 行っていますが、そこで下のエラーになります。 [Second Chance Assertion Failed: File c:\program files\microsoft visual studio 8\vc\atlmfc\include\atlimage.h, Line 1217] 何か解決のヒントになる事がありましたら教えてください。 void CImageButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { (前略) //ウィンドウDC互換Bitmap作成 CBitmap Bmp; Bmp.CreateCompatibleBitmap(pDC, nWidth, nHeight); //メモリDC作成 CDC MemDC; MemDC.CreateCompatibleDC(pDC); //メモリDCにBitmap選択 MemDC.SelectObject(&Bmp); //メモリDCにストレッチ描画 MemDC.SetStretchBltMode(HALFTONE); CDC* pImgDC = CDC::FromHandle(pBtnInfo->m_Image.GetDC()); HDC hImgDC = pImgDC->m_hDC; pBtnInfo->m_Image.StretchBlt(MemDC.m_hDC, 0, 0, nWidth, nHeight, SRCCOPY); pBtnInfo->m_Image.ReleaseDC(); (中略) //四角形を描画 CPen focusPen(PS_DOT, nPenWidth, RGB(nR, nG, nB)); CPen* OldPen = MemDC.SelectObject(&focusPen); MemDC.MoveTo(btnRect.left, btnRect.top); MemDC.LineTo(btnRect.left, btnRect.bottom); MemDC.LineTo(btnRect.right, btnRect.bottom); MemDC.LineTo(btnRect.right, btnRect.top); MemDC.LineTo(btnRect.left, btnRect.top); MemDC.SelectObject(OldPen); //メモリDCからウィンドウDCにビット転送 pDC->BitBlt(0, 0, nWidth, nHeight, &MemDC, 0 ,0, SRCCOPY); (後略)

  • HEWを使用しているのですが、このようなエラーが出ました。

    HEWを使用しているのですが、このようなエラーが出ました。 C:\Hiae_7751RTE\Product\T-Kernel\sh7751R\include\queue.h(28) : C2500 (E) Illegal token "void" C:\Hiae_7751RTE\Product\T-Kernel\sh7751R\include\queue.h(29) : C2500 (E) Illegal token "{" 最初はコンパイルエラーもリンクエラーもなかったのですが、intprg.c、resetprg.cを消した(この時点でもエラーはなし)のでstacksct.hを別のソースファイルからインクルードさせてみたら上のようなエラーが出ました。エラーが出たのでstacksct.hをインクルードさせるのもやめてみましたがエラーは消えません。 新しくプロジェクトを作ってみましたがダメでした。 また、queue.hは書き換えていません。 なぜ関係のないqueue.hにエラーがでたのでしょうか? queue.hのエラーが出た行です↓ ---------------------------------- Inline void QueInit( QUEUE *que ) { ----------------------------------

  • Visual Studio リモートデバッグについて

    Visual StudioのPro/Teamはリモートデバッグができるとあるのですが、MSDNを見てもリモートデバッグが具体的にどういうものか理解できていません。 デバッグ対象はC++で書いたコードや.net C#で書いたコードです。 2台コンピューターを用意して一方のプログラムをデバッグしながら制御ができるということでいいのでしょうか? また、Virtual PC上のプログラムにアタッチするというようなことも可能なのでしょうか? 普通のデバッグと操作上や機能上の違いはあるのでしょうか? 普段Visual Studioでデバッグする時のようにステップ実行やアセンブラ表示、レジスタの様子、メモリーの様子、変数の様子など見れるのでしょうか?もし可能なら次買う時はProを検討したいのですが。 デバッグしている様子などサイトを探したのですが見つからずイメージができないので、詳しい方いましたら教えていただけると助かります。

  • デバッグ情報ファイル作成中にエラー。エラー特定不可

    こんにちは。 Windows Vista Home Edition で Microsoft VC# 20008 Express Edission を使ってkkcs_v2という名前のウィンドウズアプリケーションを開発しています。 現在プログラム中のdataGridViewの中身をExcelに移しExcel上で印刷するソースを書いているのですが、デバッグを実行すると以下のようなエラーが出ました。 ・説明: エラー 1 デバッグ情報ファイル 'C:\Users\(ユーザー名)\Documents\Visual Studio 2008\Projects\kkcs_v2\kkcs_v2\obj\Debug\kkcs_v2.PDB' を作成中に予期しないエラーが発生しました -- 'エラーを特定できません ・ファイル: 空欄 ・行: 空欄 ・プロジェクト名: kkcs_v2 こういうエラーの時はどこを確認するのが良いのでしょうか。 正常にデバッグできていた時点から、このエラーが出るまでにやった事は覚えている限り ・あるクラスの名前を変更(class ...←の部分)。 ・そのクラスへの参照を変更。 ・ソリューションエクスプローラでも同じクラスを同じように変更。 ・印刷するメソッド(printDGV())を名前を変更したクラスへ移す。 ・printDGV()の中身を変更(boolを引数につけて進行状況の表示をするか否かの決定) ・Excelが使えるようにusingに System.Drawing, System.Reflection,Excel = Microsoft.Office.Interop.Excel を追加。 これに対し、Ctrl + Z で正常な場所まで戻してみたり、printDGV()に関係する部分をコメントで消してみたりしたのですが、駄目でした。 以上です。 何かご存じの方がいらっしゃいましたらよろしくお願いします。

  • IEEEの浮動小数点数

    32ビットのIEEEの浮動小数点数での最大値を求める方法を教えてください。後答えも教えてください。