dポイントプレゼントキャンペーン実施中!

システムを開発中で困った事が起きているので質問してみました。

開発環境は.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関係は何も使っていません。

A 回答 (2件)

このコントロールって ActiveX版ですよね


動作保障を『グレープシティー』さんはしていないようですが ・・・

ビルド > プロジェクトのクリーンで出力ファイル系を削除
ソリューションを閉じて ncb、ilkファイルを削除
で リビルドしてみるとか

RCファイルを VC6からそのまま持ってきて WinDiffなどで差異を検証しながら入れ替えてみるとか

だめ元で『グレープシティ』さんに聞いてみるとか
かなぁ ・・・

この回答への補足

ご回答有難うございます。
一応グレープシティにメールはしてみたのですが、
案の定
「3.0Jは既にサポート外です」
と飛んできました…
ncb、ilkファイルを削除(略
の方法もダメでした。

う~んどうしたものか…

補足日時:2008/10/03 17:46
    • good
    • 0

このコントロールって『グレープシティ』さんのでしょうか?


そうならば開発用のライセンスがないと開発用途では使えませんよ

きちんとコントロールの開発環境を整えましょう

この回答への補足

ご回答有難うございます。
勿論ライセンス登録は行っています。
ですので、他の新規.Net2008プロジェクトでは正常に動作しています。

補足日時:2008/10/02 16:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!