我用BCB写了一个动态链接库SsmDLL.dll,其中一个函数是动态参数的 
  void stdcall __decelspec(dllexport) test(const char * format,...)
,请问如何在Delphi中声明该函数的引用,关于DLL的一些基本调用我相信不成问题。关键是,我不知道在Dephi(pascal)中是否支持 ...,我从VCL源码在看到Format是如下声明的:
function Format(const Format: string; const Args: array of const): string;我也尝试了像这样的静态调用声明,
procedure test(const Format:pchar;const Args:array of const);stdcall;external 'SsmDLL.dll';
可是老是报“在DLL中不能定位test函数”望各位大虾指点!!!

解决方案 »

  1.   

    首先,你肯定 stdcall 支持 "..." 参数吗?反正我是有点晕void stdcall __decelspec(dllexport) test(const char * format,...)编译居然能通过?
    ================================================================
    人生最大的幸福莫过于顿顿有玉米吃
    (CSDN 论坛助手,挺好使!俺们拨号上网的有福了)
      

  2.   

    假设你用的是 _cdecl 吧__decelspec(dllexport) void _cdecl test(const char * format,...);Delphi 中的声明很简单:procedure test(const Format: PChar); cdecl;问题在于怎么访问那个 ... 参数
    你必须自己实现类似 C 语言的 va_start, va_list, va_end 的函数了================================================================
    人生最大的幸福莫过于顿顿有玉米吃
    (CSDN 论坛助手,挺好使!俺们拨号上网的有福了)
      

  3.   

    结束此帖
    另见
    "在Delphi中如何调用C实现的带有动态参数的函数"