掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
別々のDLLでMDI親子を実現するには? (ID:5813)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
にしの様 丁寧なご回答ありがとうございます。 ご紹介いただいているHPなどを拝見し、いろいろ試してみました。 構成は以下のとおりです。 ・アプリケーション(EXE) ・親MDI(DLL-A) ・子MDI(DLL-B) ■パターンA >・アプリケーション(EXE) Applicationの値 App0 >・親MDI(DLL-A) Applicationの値 App1 >・子MDI(DLL-B) Applicationの値 App1 ■パターンB >・アプリケーション(EXE) Applicationの値 App0 >・親MDI(DLL-A) Applicationの値 App0 >・子MDI(DLL-B) Applicationの値 App0 1.はじめに、パターンBで作成したのですが、 子MDI(DLL-B)を呼び出し、フォームを生成する処理で、「MDIの親が見つかりません」という内容のエラーが発生しました。 アプリケーション(EXE) Applicationの値 を引き渡しているため、Application.MainFormの内容がアプリケーション(EXE)になっています。 アプリケーション(EXE)はMDIフォームではありませんので、上記のようなエラーが発生しているとおもわれます。 2.次に、パターンAで作成しました。 親MDI(DLL-A)で、Application.CreateFormを行い、親フォームを作成します。 そのApplicationを、子MDI(DLL-B)に引渡し子フォームを作成しました。 この場合は、MDI親子の整合性がとれていると思われ、MDI親子画面がきちんと表示されました。ただ、 EXE側で、MDI親子画面を終了しようとした場合、「アクセス違反」エラーが発生してしまいます。 3.パターンBの関係で、親MDI(DLL-A)のみの表示をさせてアプリケーション(EXE) から、親MDI(DLL-A)の終了関数を呼び出した際、 一緒にアプリケーション(EXE)も閉じてしまい、 その後「アクセス違反」エラーが発生してしました。 (同じApplicationの値 を使用しているため?) 以上のような問題があり、なかなか思うとおりにできません。 お手数ですが、なにかアドバイスがあればよろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.