- 締切済み
SPREADとCDialogのCREATE
システムを開発中で困った事が起きているので質問してみました。 開発環境は.NET2008でC++、MFCアプリケーションのプロジェクトです。 SPREADのバージョンは3.0.0.52(SPR32X30.ocx)です。 簡潔に言うと、SPREADを貼ったダイアログが出力出来ません。 1.SPREADを貼る前(m_dlgはCDialog *m_dlgとして親Dialogで定義) m_dlg->Create(ID, this);(この時ちゃんとm_hWndに値が入る) m_dlg->ShowWindow(SW_SHOW); で問題なく出力されます。 2.SPREADをm_dlgに貼った場合 m_dlg->Create(ID, this); は通るには通るのですが、m_hWndがNULLのままなので、 m_dlg->ShowWindow(SW_SHOW); でハンドルが無いので落ちてしまう。 この2つを比較すると、後者は dlgcore.cppの311行目 hWnd = ::CreateDialogIndirect(hInst, lpDialogTemplate, pParentWnd->GetSafeHwnd(), AfxDlgProc); で値が取れていないようです。 他の.Net2008プロジェクトでは問題なく使えていますが、今回問題となっているプロジェクトは、 「VC6から.Net2008に置換」 しています。 何か悪影響があるのでしょうか? 因みに、置換する前はSPREAD関係は何も使っていません。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
このコントロールって ActiveX版ですよね 動作保障を『グレープシティー』さんはしていないようですが ・・・ ビルド > プロジェクトのクリーンで出力ファイル系を削除 ソリューションを閉じて ncb、ilkファイルを削除 で リビルドしてみるとか RCファイルを VC6からそのまま持ってきて WinDiffなどで差異を検証しながら入れ替えてみるとか だめ元で『グレープシティ』さんに聞いてみるとか かなぁ ・・・
- redfox63
- ベストアンサー率71% (1325/1856)
このコントロールって『グレープシティ』さんのでしょうか? そうならば開発用のライセンスがないと開発用途では使えませんよ きちんとコントロールの開発環境を整えましょう
補足
ご回答有難うございます。 勿論ライセンス登録は行っています。 ですので、他の新規.Net2008プロジェクトでは正常に動作しています。
補足
ご回答有難うございます。 一応グレープシティにメールはしてみたのですが、 案の定 「3.0Jは既にサポート外です」 と飛んできました… ncb、ilkファイルを削除(略 の方法もダメでした。 う~んどうしたものか…