mcrblog

vcpp-ml

2000年10月

31

[vcpp 00048047] NTでSetCommState()がエラー

こんにちは、なぎらといいます。

シリアル通信を行うアプリをWin95 + VC++6.0 + MFCで作成中なの
ですが、Win95,Win98では、正常に動作しているのにWinNT4.0SP4
英語版で確認したところ送信したデータが全てNULLコードになって
しまいました。

SetCommState()の返り値が0となっており、正常に出来ていないの
が原因みたいなのですが、どうしてWin95,98では、設定できている
のにNTで出来ないのでしょうか?

先週、Win2000でデータが ALLゼロにって話題が出ていたと思いま
すが同じ現象なのでしょうか?

どなたかお分かりになる方はいらっしゃいませんか。
31

[vcpp 00048046] CFormViewでF12を押すとint3

袴田といいます。こんにちは。

VC6SP4+PlatformSDK July 2000+Windows2000上で、CFormView
ベースのアプリケーションを開発しています。

要件上、F12キーが押されたときに、ある処理を実行する必要が
あります。

ここで「デバッガで実行した場合、F12を押すと、自分のハンドラに
飛んでくる前にブレークする」という現象が発生してしまいます。
この際、TRACEなどのメッセージは何も表示されません。

そのまま実行を継続すればハンドラに飛んできますし、動作上の
問題は無いように見えます。また、単にデバッグ版を実行した
場合は、問題なく動作します。しかし、放っておくのも何か嫌な
感じがしています。

F12以外にいろいろコマンドハンドラを組み込んだりしていました
ので、そのせいかな?と最初は思ったのですが、AppWizardで
CFormViewベースでスケルトンを作成し、コードを全く足さずに
ビルドした場合でも、同現象が発生します。また、NT4でも同様に
発生します。Win9xでは試していませんが。

ブレークした時点でのスタックトレースは以下のようになっています。

NTDLL! 77f9eea9()
KERNEL32! 77e75625()
CWinThread::PumpMessage() line 821 + 19 bytes

Dependency Walkerで調べた結果と合わせると、
CWinThread::PumpMessage()のアタマのASSERT_VALID(this)の中で
呼び出しているBaseAttachCompleteThunk()がDbgBreakPoint()を
呼び出しているのでブレークしていると解釈しました。

が、それだけです。BaseAttachCompleteThunkって、いったい何の
ことやら (?_?)

ASSERT_VALID(this)のthisはCWinApp(の派生)であり、オブジェクト
が何かおかしい状態になっているのでしょうが、スケルトンのまま
何も手を加えなくても発生するので、お手上げ状態です。

MicrosoftのknowledgeBaseやサーチエンジンで、CFormViewとかVK_F12
とかBaseAttachCompleteThunkとかをキーに検索したのですが、ヒントを
見つけられませんでした。

この現象について何かご存じの方はいらっしゃいますでしょうか?

なお、言い訳めいて恐縮ですが、Document/Viewのアプリケーション
自体初めて作っていますので、もしかしたら非常に基本的なことかも
しれません。その場合はご容赦下さい。

# VCのサンプルソースを見ると、VK_F12をWM_CLOSEに割り当てている
# 場合がいくつか見られたのですが、これって何か関係あるのでしょうか?

-- Regards. --
Hiroyuki Hakamada at NEC Office Systems.
mailto:m...@sys.neos.nec.co.jp
31

[vcpp 00048045] RE: CFileDialogの拡張

本田@MGCSです。

> -----Original Message-----
> Subject: [vcpp 00048041] CFileDialogの拡張
>
> フォルダの指定をやりたいだけなんですけど。。。

CFileDialogを拡張させなくても、SHBrowseForFolder() でフォルダの指定
はできるけど・・・
これじゃ駄目なの?
31

[vcpp 00048044] Re: CFileDialogの拡張

MERCURY です。

> コモンダイアログのCFileDialogで
> ファイル名とファイル種類の項目を消して表示したいのですが、
> 可能でしょうか?
> フォルダの指定をやりたいだけなんですけど。。。

フォルダの指定でしたら、SHBrowseForFolder() を使った方が
良いのではないでしょうか?
SHBrowseForFolder() を簡単にクラスでラップしたものを公開
していますので、参考にされてみてはいかがでしょうか?

http://www5.wisnet.ne.jp/~mercury/program/windows/lib/browseforfolder.html

================================================
水田勝也(MERCURY)
E...@na.rim.or.jp
URL   :http://www5.wisnet.ne.jp/~mercury/
================================================
31

[vcpp 00048043] Re: CFileDialogの拡張


 16-Kz さん

| コモンダイアログのCFileDialogで
| ファイル名とファイル種類の項目を消して表示したいのですが、
| 可能でしょうか?
| フォルダの指定をやりたいだけなんですけど。。。

 フォルダの指定だけなら、SHBrowseForFolder()というのが
 あります。どうでしょうか。


     message from alphaty.
              e-mail address : a...@anet.ne.jp
記事検索
Amazon.co.jp
  • ライブドアブログ