大家帮忙给看看这段实现jpg图象到 bmp图转换的代码有什么错误的?
编译调试都没有问题,在运行时出错,
void CDlgDlg::On_Btnopen()
{
// TODO: Add your control notification handler code here
CFileDialog dlg(TRUE,"jpg",NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,"Jpg File(*.jpg)|*.jpg||");
if(dlg.DoModal()==IDOK){
m_StrJpg = dlg.GetPathName();
UpdateData(FALSE);
}
}
void CDlgDlg::On_Btnsave()
{
// TODO: Add your control notification handler code here
CFileDialog dlg(FALSE,"bmp",NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,"Bmp File(*.bmp)|*.bmp||");
if(dlg.DoModal()==IDOK){
m_StrBmp = dlg.GetPathName();
UpdateData(FALSE);
}
}
typedef bool(__stdcall CHANGE)(LPCSTR,LPCSTR,int iColorBit);
void CDlgDlg::On_Btnchange()
{
// TODO: Add your control notification handler code here
HINSTANCE hInst = ::LoadLibrary("d:\\JpgVsbmp.dll");
if( hInst == NULL ) //PXSTR //LPCSTR
{
AfxMessageBox("缺少JpgVSbmp.dll文件!");
return;
}
//LPCSTR fileName = "D:\\TEST.BMP";
//LPCSTR fileName1 = "D:\\72_22647.jpg";
CHANGE* pFunc = (CHANGE *)::GetProcAddress(hInst,"JpgToBmp");
pFunc(m_StrJpg,m_StrBmp,24);
m_StrBmp.ReleaseBuffer();
m_StrJpg.ReleaseBuffer();
::FreeLibrary(hInst);
}
错误为:
Unhandled exception at 0x1002a729 in Dlg.exe: 0xC0000005: Access violation reading location 0x00000000
该怎么办?????