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谢谢!!

解决方案 »

  1.   

    没人知道吗?郁闷!关键就是在vc中的HANDLE在delphi怎么转化过来啊?知道的指点一下!!谢谢!
      

  2.   

    VC++
      HANDLE;Delphi
      THandle;
      

  3.   

    在vc中无返回值函数在delphi中怎么表示呢?是否可用过程代替?
      

  4.   

    在vc中无返回值函数在delphi中怎么表示?用过程表示无返回值的函数可以不?
      

  5.   

    如果在VC中无返回值的函数在delphi中怎么表示呢?是否可以转换为返回其他类型?如果不改为过程的话?