mfc-ml

2004年06月

30

[mfc 49195] Re: [mfc 49193] スプラッシュウインドウに文字列を渡したい

とっちゃんです。

> SDIプログラムのスプラッシュウインドウにユーザー名を表示させたいのですが、
> メインのInitInstance()からどうやって文字列を渡せばよいのでしょうか?

InitInstanceから渡すのではなく
スプラッシュウィンドウのOnCreate/OnInitDialogなどから
とりに行くというのはだめですか?
30

[mfc 49194] Re: [mfc 49183] Re: [mfc 49179] Re: [mfc 49149] Re: [mfc 49117] Re: UIスレッドでモードレスダイアログが作成できない

吉田です。


> とっちゃんです。

> > > > int CMyThread::ExitInstance()
> > > > {
> > > >   // 終了処理いろいろ
> > > >   m_dlg.DestroyWindow();
> > > >
> > > >   return CWinThread::ExitInstance();
> > > > }
> > > 
> > > ですが、正しくスレッドが作られているとしたら
> > > ExitInstance でダイアログを閉じるのでは遅すぎます。
> > 
> > 上記のコードだと具体的に何がまずいのでしょうか?
> > 私自身、上記のコードでサンプルプログラムを作成してみたのですが、
> > 普通に動作しているように見えます。
> > 
> > 基本的な内容なのかもしれませんが、
> > ご教授いただけないでしょうか?

> 動作上、大きな問題は出ないと思いますよ。
> ただし、それはコードによるんです。

> DestroyWindow を呼び出した後、一切のPostMessage(相当処理)が
> ない場合は問題はありません。

> が、もしひとつでもメッセージキューにポストしてくる動作が
> 行われてしまえば、そのメッセージは処理されずに捨てられる
> ということになります。

> 捨てられても問題がないメッセージであれば問題には
> なりませんが、処理されないと問題があるメッセージであれば
> それが問題となります。

とっちゃんさん、ご回答していただき
ありがとうございました。

私なりに、教えていただいた内容を理解しようとし、
その結果を以下にまとめました。

まず、とっちゃんさんのおっしゃっている
PostMessageの対象(メッセージの送付先)は、
m_dlgのことですよね?
(この時点で間違っていると
以下の内容は意味がなくなるのですが...)

私は、m_dlgを知っているのは、
m_dlgを保持しているCMyThreadのインスタンスだけであり、
そのため、
m_dlgに対してPostMessageできるのは
CMyThreadのインスタンス内からだけだと考えていました。

もしそうであれば、CMyThreadのExitInstance関数内で
m_dlg.DestroyWindow()しても
問題ないということになりますよね?
(m_dlgに対してPostMessageできるのは
CMyThreadインスタンス内からだけであり、
そのインスタンスの終了処理時だから)

でも、実際はm_dlgに対してPostMessageを行うのは
CMyThread以外にもありえるため、
CMyThreadのExitInstance関数内で
m_dlg.DestroyWindow()するのは
よくないということですよね?

ところで、上記のように
CMyThread以外からm_dlgに対して
メッセージが送付されるというのは
どのようなケースが挙げられるのでしょうか?
(m_dlg自身のGUIに対するメッセージハンドラ?
m_dlgの親ウィンドウからのメッセージ?)

以上ですが、私の言おうとしている内容が不明とか、
全く見当違いとか、ここは間違っている等、
いろいろあると思います。
皆様からのご指導、ご指摘をお待ちしております。
30

[mfc 49193] スプラッシュウインドウに文字列を渡したい

こんにちは、村尾DOSです。

SDIプログラムのスプラッシュウインドウにユーザー名を表示させたいのですが、
メインのInitInstance()からどうやって文字列を渡せばよいのでしょうか?
___________________________________
   村尾DOS   Address ── Web Site http://www.muraodos.com/
             └─── E-Mail ───  b...@muraodos.com
30

[mfc 49192] RE: [mfc 49188] RE: mkdirのerrnoについて


 安藤@大分です。

> From: o...@ml.acty-net.ne.jp 
> [mailto:o...@ml.acty-net.ne.jp] On Behalf Of Hiroaki SHIBUKI
> Sent: Wednesday, June 30, 2004 4:09 PM

> > mkdir がエラーを返しても、気にせずズンドコ掘り進むのでは駄目なんですかね?

>  とコメントしたわけです。

 私もいつもこの方法です。
 指定されたパスを分解して、上位のフォルダを CreateDirectory() し、
次のフォルダを付け加えて CreateDirectory() を繰り返す、といった
感じですね。CreateDirectory() に失敗しても無視して進めます。

--
$ 安藤 幸治(ANDO Koji)
$ http://rc30.jp/
$ http://blogs.users.gr.jp/ando/
30

[mfc 49190] Re: mkdirのerrnoについて

さあもとです。

[mfc 49188] Hiroaki SHIBUKI wrote:
>  21世紀の今、この程度の処理時間が問題になるケースは少ないと思います。

>  深く考えても100%の答えが得られるわけでもないので、当初

> > 要 IE4 だかで、shlwapi にそんな API が追加されていませんでしたっけ?

> > mkdir がエラーを返しても、気にせずズンドコ掘り進むのでは駄目なんですかね?
> (^^;

>  とコメントしたわけです。

21世紀に入ってはや三年ですが、場所によっては未だにフロッピー
ディスクが愛用されてたりしますから、一概には言えないカナ、言
えないカナ。;-)

~~~~~~~~~~~~~~~~~~~~~~~~~~
  へ  へ    さあもと
  の  の    E-Mail : s...@deneb.freemail.ne.jp
~~~~~~~~~~~~~~~~~~~~~~~~~~
記事検索
Amazon.co.jp
  • ライブドアブログ