extern "C" __declspec(dllexport) void ShowDlg(HANDLE hDIBBK1) //人工阈值分割
{
double m_rgyuzhi;
if(hDIBBK1 == NULL)
{
AfxMessageBox("请先打开一个图片!");
return;
}
CDllDialog dllDialog;
int m = dllDialog.DoModal();
if (m != IDOK)
{
return;
}
m_rgyuzhi = dllDialog.m_zhi;
cDib.WhiteBlack(hDIBBK1,(unsigned)m_rgyuzhi);
}
extern "C" __declspec(dllexport) void PdMedifilter(HANDLE hDIBBK1) //中值滤波
{
// TODO: Add your command handler code here
if(hDIBBK1== NULL)
{
AfxMessageBox("请先打开一个图片!");
return;
}
cDib.MedianFilterDIB(hDIBBK1);
// Invalidate();
}
上面是VC中封装的函数,其中HANDLE是这样定义的(typedef void *HANDLE); 在delphi中调用上述函数,试了多次都没成功,在delphi中我用Pointer指针作为函数指针参数来传递,提示unsafe type Pointer,请高手指点一下如何在delphi中调用。有在delphi中调用vc的DLL的代码的,能不能发给我。wxdragon1980◎163.com谢谢!!
{
double m_rgyuzhi;
if(hDIBBK1 == NULL)
{
AfxMessageBox("请先打开一个图片!");
return;
}
CDllDialog dllDialog;
int m = dllDialog.DoModal();
if (m != IDOK)
{
return;
}
m_rgyuzhi = dllDialog.m_zhi;
cDib.WhiteBlack(hDIBBK1,(unsigned)m_rgyuzhi);
}
extern "C" __declspec(dllexport) void PdMedifilter(HANDLE hDIBBK1) //中值滤波
{
// TODO: Add your command handler code here
if(hDIBBK1== NULL)
{
AfxMessageBox("请先打开一个图片!");
return;
}
cDib.MedianFilterDIB(hDIBBK1);
// Invalidate();
}
上面是VC中封装的函数,其中HANDLE是这样定义的(typedef void *HANDLE); 在delphi中调用上述函数,试了多次都没成功,在delphi中我用Pointer指针作为函数指针参数来传递,提示unsafe type Pointer,请高手指点一下如何在delphi中调用。有在delphi中调用vc的DLL的代码的,能不能发给我。wxdragon1980◎163.com谢谢!!
HANDLE;Delphi
THandle;