[問題] win API函式 用在 windows Form 的錯誤 …

看板C_and_CPP (C/C++)作者時間16年前 (2009/10/20 20:35), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
各位高手好 小弟需要利用wave API的函數 擷取音訊信號 並在視窗上 即時顯示訊號 現在碰到兩個error error C3374: 必須在建立委派執行個體的內容中,才可以接受 'Recording_Form::Form1::waveInProc' 的位址 MSDN的解釋是 http://msdn.microsoft.com/en-us/library/5408cs95(VS.80).aspx 裡面的範例看不是很懂QQ" error C2440: '型別轉換' : 無法由 'void (__clrcall Recording_Form::Form1::*) (HWAVEIN,UINT,DWORD_PTR,DWORD_PTR,DWORD_PTR)' 轉換為 'DWORD_PTR' 這個是兩種型態的不能互相轉 可是waveInProc這個callback函式它的定義是 void CALLBACK waveInProc( HWAVEIN hwi, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2 ); 而waveInOpen所要的是DWORD_PTR MMRESULT waveInOpen( LPHWAVEIN phwi, UINT_PTR uDeviceID, LPWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwCallbackInstance, DWORD fdwOpen ); 兩者好像有矛盾到..................不知道怎麼解決 and........另外一個問題就是 我用windows form開啟專案 Form1.h裡面 有兩個區塊 #pragma region Windows Form Designer generated code void InitializeComponent(void) { //Form的物件定義 } //----------- 我自己寫的函式 //----------- #pragma endregion //--------------- Form的物件&事件函式 像是button、之類的 //--------------- 我的函式現在是寫在上面的部份 不知道兩個部份 有什麼差別@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.101.133 ※ 編輯: disorientate 來自: 140.135.101.133 (10/20 20:37)

10/20 20:56, , 1F
關於第二個問題,callback function應該是獨立的function
10/20 20:56, 1F

10/20 20:56, , 2F
不該是某class的member function吧?至於型別部份用強制
10/20 20:56, 2F

10/20 20:57, , 3F
轉型。
10/20 20:57, 3F
文章代碼(AID): #1AtQwicu (C_and_CPP)
文章代碼(AID): #1AtQwicu (C_and_CPP)