初めて質問します。
今、VC6.0で行ったCFormViewと同じ方法で、.net2003を使用して組んでみたのですがう
まくいかず、「OnPreparePrinting」の 「return」を、
「return CFormView::DoPreparePrinting(pInfo);」に変更したところ、
「DEBUG版」では、印刷できますが、「RELEASE版」では、次のところで止まってしま
います。
const DLGTEMPLATE* COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO* pDlgInfo,
const DLGTEMPLATE* pOrigTemplate)
{
ASSERT(pDlgInfo != NULL);
pDlgInfo->m_ppOleDlgItems =
(DLGITEMTEMPLATE**)malloc(sizeof(DLGITEMTEMPLATE*) *
ここ→ (DlgTemplateItemCount(pOrigTemplate) + 1));
if (pDlgInfo->m_ppOleDlgItems == NULL)
return NULL;
DLGTEMPLATE* pNewTemplate = SplitDialogTemplate(pOrigTemplate,
pDlgInfo->m_ppOleDlgItems);
pDlgInfo->m_pNewTemplate = pNewTemplate;
DLGITEMTEMPLATE *pItem = _AfxFindFirstDlgItem(pOrigTemplate);
DLGITEMTEMPLATE *pNextItem;
BOOL bDialogEx = IsDialogEx(pOrigTemplate);
int iItem, iItems = DlgTemplateItemCount(pOrigTemplate);
pDlgInfo->m_pItemInfo = new _AFX_OCC_DIALOG_INFO::ItemInfo[iItems];
memset(pDlgInfo->m_pItemInfo, 0,
sizeof(_AFX_OCC_DIALOG_INFO::ItemInfo) * iItems);
pDlgInfo->m_cItems = iItems;
LPCWSTR pszClass;
DWORD dwStyle;
中断内容は、
「0x00408c09 でハンドルされていない例外が発生しました : 0xC0000005:
場所 0x00000002 を読み込み中にアクセス違反が発生しました。 」
です。
何が原因なのか未だわかりません。
原因を教えて頂きたいです。
又、「CFormView」での印刷のサンプルがありましたら紹介して頂きたいです。
動作環境
OS: Windows XP Pro/HomeEdition SP2
VC:
Visual C++ Ver 6.0 SP6
Visual C++.net 2003
印刷のモ-ドで、フォ-ムも表示してたのが原因で、修正したら無事印刷することが
出来ました。
お騒がせ致しました。
追加です。
スタティックライブラリーをリンクする方法だと、リソースファイルの
変更も必要です。