ページ 22

初心者の質問ですが

Posted: 2007年5月03日(木) 13:41
by yata
7 さん 下の様に修正したら、エラーになってしまいました。
Function ListView_GetNextItem(ByVal hWnd As HWND,ByVal iStart As Long,ByVal flags As DWord) As Long
ListView_GetNextItem=SendMessage(hWnd,LVM_GETNEXTITEM,iStart As WPARAM,flags As LPARAM) As Long
End Function

"NMLVDISPINFO" 無効な識別子です
"NMLISTVIEW" 無効な識別子です
この部分です
Sub MainWnd_ListView1_EndLabelEdit(ByRef nmLVDispInfo As NMLVDISPINFO)
Sub MainWnd_ListView1_DblClick(ByRef nmListView As NMLISTVIEW)

修正前のコードは
Function ListView_GetNextItem(ByVal hWnd As HWND,ByVal iStart As Long,ByVal flags As DWord) As Long
SendMessage(hWnd,LVM_GETNEXTITEM,iStart As WPARAM,flags As LPARAM)
End Function
でうまくいっていたと思うのですが、エラーになっているので残っているexeファイルは修正前のままですのでうまく動いています。でも、リリースコンパイルしてしまったため、動いているコードが分からなくなってしまいました。

拡張子wrk のファイルが変更されているようですが、関係あるかどうか私には分かりません。
プログラムの全てのコードをここに載せたほうがよいでしょうか

Re: 初心者の質問ですが

Posted: 2007年5月03日(木) 14:46
by 7
> "NMLVDISPINFO" 無効な識別子です
> "NMLISTVIEW" 無効な識別子です
おそらく関数の修正は全く関係ないと思います。
プロジェクトオプションの「コモン コントロールを使用する」にチェックは入っているでしょうか?
チェックを入れると件の構造体を定義してくれるので無効な識別子とはなりません。

それでも解決しない場合はコードを載せた方が良いかもしれませんが、トピ主(M.S.)さんの質問とちょっと離れた話題になってきたので...。う~ん。

解決しました

Posted: 2007年5月03日(木) 18:00
by yata
7さん お手数をおかけしてすみませんでした。
表示 プロジェクトオプション Win32Apiタブで コモンコントロールを使用する にチェックは入っていました。
もしかしたらと思って、プロシージャ全体をリリースコンパイルしたところ
Function ListView_GetNextItem(ByVal hWnd As HWND,ByVal iStart As Long,ByVal flags As DWord) As Long
ListView_GetNextItem = SendMessage(hWnd,LVM_GETNEXTITEM,iStart As WPARAM,flags As LPARAM) As Long

End Function
で、エラー無しでコンパイルできました。MainWnd.sbpだけコンパイルしたからエラーになったのかな?
とにかく修正がexeファイルに上書きされてちゃんと動いています。
重ね重ね有難うございました。

Posted: 2007年5月06日(日) 20:13
by M.S.
皆さん、どうもありがとうございました。
おかげで望んでいた動作ができるようになりました。