• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vc++2005エラーメッセージ)

vc++2005エラーメッセージ

このQ&Aのポイント
  • vc++2005でのエラーメッセージについて説明します。
  • 問題は、'static_cast'を使用して'AFX_PMSG'に変換できないことです。
  • 原因と修正方法について詳しく解説します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ON_COMMANDのハンドラなら 戻りの型はvoidではないかしら。intじゃなく。

uyama33
質問者

お礼

出来ました。 有り難うございました。

uyama33
質問者

補足

おかげさまで、 古いソフトが コンパイル出来て動きました。 有り難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • メッセージマップ(ON_CONTROL_RANGE)エラーについて

    c:\Documents and Settings\******\ デスクトップ\test\Project2View.cpp(22): error C2440: 'static_cast' : 'void (__thiscall CProject2View::* )(void)' から 'void (__thiscall CCmdTarget::* )(UINT)' に変換できません。 BEGIN_MESSAGE_MAP(CProject2View, CFormView)  ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)  ON_CONTROL_RANGE         (EN_CHANGE,1000,1099,OnChangeEditAll)  ON_EN_CHANGE(1000,OnChangeEditAll) END_MESSAGE_MAP() ON_CONTROL_RANGEを使用すると出ます。 どうすればいいでしょうか? *stdafx.hの#define...は、削除しました。 Visual Studio.NET 2003 です。 よろしくお願いします。

  • BEGIN_EVENTSINK_MAPをお教えください

    下記についてお教えください。 BEGIN_EVENTSINK_MAP(CxxxView, CView) //{{AFX_EVENTSINK_MAP(CxxxView) ON_EVENT(CxxxView, CONTROL_ID, /*DISPID*/ 1, OnEventxxxx, VTS_I4) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() を詳しく教えていただけませんか。 宜しくお願いいたします。

  • Modalダイアログを他のThreadから閉じたい

    VC++6.0のMFCプロジェクトで、Modalダイアログを他のThreadから閉じる処理を行いたいと考えています。 以下のようなことを実行しているのですが、3.で"MyDialog"にメッセージが送信されません。 1.あるFormView上で、他のスレッド("WorkerThread"とします)を起動する。 2.上記FormView上で、Modalダイアログ("DialogTest"とします)を開く。 3."WorkerThread"にて、一定の処理後にSendMessageを実行して、"MyDialog"にメッセージを送り、EndDialog()を実行させる。 /*----- WorkerThread関数内-----*/ //"TestDialog"のハンドルを取得する。 HWND hWnd = ::FindWindowEx(NULL, NULL, _T("#32770"), NULL); if (hWnd) { CWnd* pWnd = FromHandle(hWnd); if (pWnd) { //処理がここに入っていることは確認できます。 pWnd->SendMessage(WM_MESSAGE_CLOSEDIALOG, 0, 0); } } /*-----定義用ヘッダーファイル------*/ const UINT WM_MESSAGE_CLOSEDIALOG =::RegisterWindowMessage(_T("UWM_MESSAGE_CLOSEDIALOG")); /*-----DialogTest.h------*/ //{{AFX_MSG(CWaitingSearchDialog) //}}AFX_MSG afx_msg void OnCloseDialog(WPARAM wParam,LPARAM lParam); DECLARE_MESSAGE_MAP() /*-----DialogTest.cpp------*/ void DialogTest::OnCloseDialog() { EndDialog(IDOK); } BEGIN_MESSAGE_MAP(DialogTest, CDialog) //{{AFX_MSG_MAP(DialogTest) //}}AFX_MSG_MAP ON_REGISTERED_MESSAGE(WM_MESSAGE_CLOSEDIALOG, OnCloseDialog) END_MESSAGE_MAP() 間違いありましたら、ご指摘いただけないでしょうか。よろしくお願いいたします。 (ところで、私が同カテゴリに先日投稿した「"複数プロジェクトをビルドしたとき、DLLに新しく追加したClassのみがリンクエラーになる "」は、自己解決できました。 もしどなたか適当な回答を投稿してもらえれば、その旨を書けます。お暇な方、お願いできないでしょうか)

  • [Visual C++ 6.0] コンパイル(ビルド)エラー

    ※参考までに『3週間完全マスターVisual C++ 6.0 』という本の「5日目」の部分を進めていて詰まってしまいました。 ビルドすると、下記のDialogsDlg.h中の「CMsgDlg m_dMsgDlg;」の辺りに対して error C2146: 構文エラー : ';' が、識別子 'm_dMsgDlg' の前に必要です。 error C2501: 'CMsgDlg' : 識別名を宣言するのに、型が指定されていません。 error C2501: 'm_dMsgDlg' : 識別名を宣言するのに、型が指定されていません。 というエラーが出てしまいます。CMsgDlgというクラスはちゃんと作っていますし、構文的にも間違ってはいないと思うのですが、何がいけないのでしょうか? 説明が足りなければ補足します(見づらくてスミマセン)。 // DialogsDlg.h : #if !defined(AFX_DIALOGSDLG_H__4772C7E5_F2C9_4E57_99B8_EF1D44426473__INCLUDED_) #define AFX_DIALOGSDLG_H__4772C7E5_F2C9_4E57_99B8_EF1D44426473__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif class CDialogsDlg : public CDialog { public: CDialogsDlg(CWnd* pParent = NULL); enum { IDD = IDD_DIALOGS_DIALOG }; CButton m_cWhichOption; CString m_sResults; protected: virtual void DoDataExchange(CDataExchange* pDX); protected: HICON m_hIcon; //{{AFX_MSG(CDialogsDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnExit(); afx_msg void OnYesnocancel(); afx_msg void OnAbortretryignore(); afx_msg void OnFileopen(); afx_msg void OnBcustomdialog(); afx_msg void OnBwhichoption(); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: CMsgDlg m_dMsgDlg; }; #endif

  • VC++でリンクエラー

    開発環境:  Visual C++ 2008 WindowsXP SP2 以下のようなリンクエラーが出て困っています。 [エラーメッセージ] xxx.lib(xxx01.obj) : error LNK2001: 外部シンボル ""public: void __thiscall std::_String_base::_Xran(void)const " (?_Xran@_String_base@std@@QBEXXZ)" は未解決です。 [確認した点] C:\Program Files\Microsoft Visual Studio 9.0\VC\lib に「libcpmt.lib」というライブラリがあり、これをダンプすると  Xran@_String_base@std@@・・・ という箇所がありましたのでこのライブラリとのリンクをすれば良い かなと思います(release版のマルチスレッドであるため)。勿論このファオルダをライブラリディレクトリの一番上に指定しております(順番を変えて試したりもしました)。 [不可解な点(原因と関係があるかもしれない点)] (1)VCの2008以下のバージョンからプロジェクトを2008用に変換しています。元のバージョンが何なのかはわかりません。(知る方法はありますか?) どのような原因が考えられるでしょうか?

  • Vista 非同期接続

    Vista と VC++2005 でソケット関連のソフトを作っています。  下のようなコードでは BEGIN_MESSAGE_MAP(SQMailDLDlg, CDialog) // Don't show process //{{AFX_MSG_MAP(MailRecDlg2) ON_MESSAGE(SM_ASYNC, HandleAsyncMsg) //}}AFX_MSG_MAP END_MESSAGE_MAP() として、登録してある関数 HandleAsyncMsg() が呼び出されないのですが、 どこに原因があるのでしょうか? SendMessage(SM_ASYNC); とすれば、もちろん呼び出せます。 RetVal = getaddrinfo(gszServerName, Port, &Hints, &AddrInfo); if (RetVal != 0) { sprintf(outbuf3, "Cannot resolve address [%s] and port [%s], error %d: %s\n", Server, Port, RetVal, gai_strerror(RetVal)); WSACleanup(); return;// -1; } for (AI = AddrInfo; AI != NULL; AI = AI->ai_next) { ConnSocket = socket(AI->ai_family, AI->ai_socktype, AI->ai_protocol); if (ConnSocket == INVALID_SOCKET) { sprintf(outbuf3,"Error Opening socket, error %d: %s\n", WSAGetLastError(), DecodeError(WSAGetLastError())); continue; } if (WSAAsyncSelect(ConnSocket, *this, SM_ASYNC, FD_READ|FD_WRITE|FD_CLOSE|FD_CONNECT) == SOCKET_ERROR){ MessageBox("WSAAsyncSelect() failed","Error", MB_OK); closesocket(ConnSocket); ConnSocket = INVALID_SOCKET; continue; } if (connect(ConnSocket, AI->ai_addr, AI->ai_addrlen) == SOCKET_ERROR){ if(WSAGetLastError() != WSAEWOULDBLOCK){ closesocket(ConnSocket); ConnSocket = INVALID_SOCKET; continue; } break; } } if (AI == NULL) { sprintf(outbuf3, "Fatal error: unable to connect to the server.\n"); WSACleanup(); return;// -1; } よろしくお願いします。

  • 右クリックメニューについて

    VC++2005のMFCでダイアログベースアプリを作成しています。 右クリック動作を行ったタイミングでOnContextMenu関数を呼び出し、処理を行いたいのですが、作成した方法が悪いのか、 (イベントの追加で自動生成する方法が分からず、他ソースのOnContextMenu関数部をコピー) 右クリックしても関数内に入ってくれません。 コンパイルは通っており、コピー元のソースでは検知されているのですが。。。 何か解決法について心当たりのある方おられましたら、お手数ですがご教授お願い致します。 下記は問題箇所のソースです。 【メッセージマップ】 BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) ON_WM_CONTEXTMENU() END_MESSAGE_MAP() 【OnContextMenu関数】 void CTestDlg::OnContextMenu(CWnd* /*pWnd*/, CPoint point ){ AfxMessageBox("右クリック検知しました"); } 【ヘッダ部】 afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint point ); ※なお、右クリックする場所はダイアログ上に作成したツリービューの上となっています。

  • socket のエラー

    VCを使ってC言語でsocketのコーディングをしています。 sendto(soc, send_buf, strlen(send_buf)+1, 0, (struct sockaddr *)&server, sizeof(server)); ↑の後にエラーを表示させる関数をよぶ ShowLastError();←エラー表示 要求したアドレスのコンテキストが無効です。 ↑ というエラーメッセージがでました。 これはどういうことなのでしょうか?対処方法をお願いします。 バックグラウンドはWindowsです。 宜しくお願いします。

  • update_prebindで表示されるエラーメッセージについて

    Mailの起動中にカーネルパニックで落ちてしまい。再起動して。 Mac OS X 10.1.4の起動時にcommand+Sを押してシングルユーザーモードで起動し、fsck、update_prebindingのコマンドを入力すると次のようなエラーが表示されます。 (ipc/send) invalid destination port : initCGDisplayState:cannot map display interlocks KCGErrorFailure : CGSNewConnection cannot connect to server KCGErrorFailure : CGSNewConnection cannot connect to server kCGErrorInvalidConnection : CGSGetEventPort: Invalid connection このエラーの直し方を教えていただけないでしょうか。

    • 締切済み
    • Mac
  • vc8runtimeをインストールできません。

    AVI2JPGというフリーソフトを使いたいのですが、AVIファイルを開くことができません。「映像を取得できませんでした」というエラーメッセージが出ます。 そこでこのソフトを使うために必要なものを確認したところ、「vc8ランタイム」が必要なことがわかりました。そこでそれをインストールしたいのですが、どうしても上手くいきません。どなたかアドバイスをお願いします。 「vcredist x86.exe」というファイルをダブルクリックすると Microsoft Visual C++ 2005 再頒布可能パッケージ(x86)の使用許諾契約の確認画面が出てくるので、「はい」をクリックすると、エラーの表示「Command line option syntax error.Type Command/?for Help.」というのが現れて、起動できません。 使用中のパソコンはDELL LATITUDE D510 Intel Celeron M 1.4GHz RAM512MB です。 どうぞよろしくお願いします。