皆さんいろいろありがとうございました。
またまた壁にぶつかってしまいました。
アプリケーションは1になったのですが
それをどのように動かすのかわかりません。
ソース、ヘッダーも入れてビルドはOKになりましたが
なにやら訳のわからないWINDOWがでてきました。
「Debug Assertion Failed!」です。
いったい何のことなのでしょうか?。
どのように動作しようと私は考えているか???。
1.実行すると一緒にDialog Boxが表示される。
2.1つめのアプリケーション内でボタンによりもう一つのDialogBoxが表示される。
どちから簡単方にしたのですがやり方がわかる方教えてください。
両方とも教えて頂けたら幸いです。
>1.実行すると一緒にDialog Boxが表示される。
1.クラスウィザードのメッセージからWM_INITDIALOGを選択し、関数の追加を選ぶ。
2.追加された関数OnInitDialogでもうひとつのダイアログを呼び出す。
呼び出したダイアログがモーダルの場合は、そのダイアログを閉じるまで最初のダイアログに制
御が移らない。
>2.1つめのアプリケーション内でボタンによりもう一つのDialogBoxが表示される。
1.クラスウィザードのオブジェクトIDから、ボタンのIDを選び、メッセージのCOMMANDを選択
し、関数の追加を選ぶ。
2.追加された関数でもうひとつのダイアログを呼び出す。
こんな感じでしょうか?
その後ということなので。
どのスレッドの続きが書いていただけるとうれしいのですが。
.rcを統合した時、IDが変わってしまったものとかないですか?
>「Debug Assertion Failed!」です。
>いったい何のことなのでしょうか?。
ソースに書かれたIDがリソースに実在しない場合よく出ます。
( その他の場合も多々ありますが ^_^; )
再試行ボタンを押すとエラー箇所が表示されます。
多分自分が書いた覚えのない部分が表示されるでしょうが
呼び出し元をたどっていけば原因は判ると思います。
コメントありがとうございます。
まだ解決していません。
Tiggerさんの指示通りやって見た結果を報告致します。
>.rcを統合した時、IDが変わってしまったものとかないですか?
変わったところはみあたりませんでした。
だた、resource.hの中にあるIDの番号が重複しているものがあるのですがよろしいのでしょう
か?。
>ソースに書かれたIDがリソースに実在しない場合よく出ます。
> ( その他の場合も多々ありますが ^_^; )
>再試行ボタンを押すとエラー箇所が表示されます。
APPCORE.CPP
CWinApp::CWinApp(LPCTSTR lpszAppName)
ASSERT(afxCurrentWinApp == NULL); // only one CWinApp object please
にてエラーが出ています。
いろいろ試していますがわかりませんので何かおわかりになりましたら
おしえてください。
CWinApp派生クラスのインスタンス( CxxApp theApp; てな記述のこと )
が複数ないですか?
お世話になっています。
ひろぴーさんの回答についてもう少し教えてください。
>>1.実行すると一緒にDialog Boxが表示される。
>1.クラスウィザードのメッセージからWM_INITDIALOGを選択し、関数の追加を選ぶ。
>2.追加された関数OnInitDialogでもうひとつのダイアログを呼び出す。
>呼び出したダイアログがモーダルの場合は、そのダイアログを閉じるまで最初のダイアログに
>制御が移らない。
1.のところで「WM_INITDIALOGを選択し、関数の追加を選ぶ」とありますが
WM_INITDIALOGが太文字になっていて選択しても関数の追加ができません、どうしてでしょう
か?。
>>2.1つめのアプリケーション内でボタンによりもう一つのDialogBoxが表示される。
>1.クラスウィザードのオブジェクトIDから、ボタンのIDを選び、メッセージのCOMMANDを選
択し、関数の追加を選ぶ。
>2.追加された関数でもうひとつのダイアログを呼び出す。
ボタンを作成して、関数の追加をしました。
そこで関数の中の処理はどのようにしたらよろしいのでしょうか?。
本当に初心者&勉強不足のためわかりません。
みなさんには「それくらい勉強しろ」と思われるかもしれませんが
勉強している時間がないために皆さんのお力を借りたいので
よろしくお願いいたします。
> WM_INITDIALOGが太文字になっていて選択しても関数の追加ができません、
> どうしてでしょうか?。
すでに定義されているのではないかと。
void XXX::OnInitDialog() ってメソッドがありませんか?
> ボタンを作成して、関数の追加をしました。
> そこで関数の中の処理はどのようにしたらよろしいのでしょうか?。
もうひとつのダイアログを呼び出す。
> 勉強している時間がないために皆さんのお力を借りたいので
そんなのは言い訳になりません。
> ボタンを作成して、関数の追加をしました。
> そこで関数の中の処理はどのようにしたらよろしいのでしょうか?。
ダイアログの呼び出し方はpoohさんのソースの中にあるハズですので、探してみて下さい。
両方とも(明記されていないので分かりませんが、少なくとも片方は)ダイアログベースのアプ
リだった訳ですから。
> 勉強している時間がないために皆さんのお力を借りたいので
コレは、とりあえず今回のアプリが出来れば身に付かなくてもいいという事なんでしょうか?
> 勉強している時間がないために皆さんのお力を借りたいので
これをいったら、普通は放置かな・・・ (^^A;;
皆さん本当にありがとうございました。
「勉強している時間がないために皆さんのお力を借りたいので」いけない発言でした。
皆さんも時間を作って勉強しているのに私は努力もしないでみなさんに聞いて
みなさん本当にご迷惑おかけしました。
これからは、自分で調べて解決いたします。
>これからは、自分で調べて解決いたします。
なんか勘違いしてる?
別にさぁ 人のためにここに書き込んでるわけじゃないわけ。
人がつまずく内容って、将来、自分や新人君がつまずきそうな内容だから、
興味が先にあって、いっしょに調べるんだよね。
一人で全部解決できるならそれに越したことないけど、
この問題は糸口すらわからん なんてことはたくさんあるでしょ
一人で物を作るって人は少数派ですよ。
私なども人に助けてもらいながら協力して作ってるし。
これわからんなぁ って奴はこれからも質問したらどうですか?
ちなみにこの問題はくっつける前の二つのAppクラスの
InitInstanceにどういうコードがあって
どううごいていたかって部分を勉強しなおすといいかもです。
もう見ないかもしれませんが・・・
>だた、resource.hの中にあるIDの番号が重複しているものがあるのですが
>よろしいのでしょうか?。
あまりよろしくはないですが、IDが使われているダイアログが別物ならセーフです。
1つのダイアログの中にそれらのIDが含まれていたり、
2つのダイアログのID番号が同じ場合はアウト。コンパイルエラーがでたと思います。
>APPCORE.CPP
> CWinApp::CWinApp(LPCTSTR lpszAppName)
> ASSERT(afxCurrentWinApp == NULL); // only one CWinApp object please
>にてエラーが出ています。
n さんの 2003/05/08(木) 10:34:44 の通りかと。
2つのプロジェクトを統合した場合、片方のプロジェクトの少なくとも5ファイルは取り
扱い注意。
(stdafx.h,stdafx.cpp,resource.h,(プロジェクト名).h,(プロジェクト名).cpp)
クラスウィザードが使えなくなる場合もあるし。(一旦 .clwを消せばいいけど)
元のを参考にしながら新しく作ったほうが混乱しないし 身に付くと思いますよ。