现在我要用DELPHI 调用C写的DLL  请问下面在C中的参数DELPHI中我要用什么来匹配哦
void ** , char * , unsign  char *,  void * 
请高手指点 谢谢了。  还有它用的是 C 协议  我在DELPHI 函数申明的时候应该用STDCALL 还是什么关键字 ??

解决方案 »

  1.   

    http://www.77169.cn/more.asp?name=ALiWY&id=5062
      

  2.   

    int SSL_Initialize(void **sslContext,char *ConfigureName,int clientOrServer,int whichKey,
    unsigned char *PIN);在C里面他的申明是这样的,它用的C协议,那么我用显式调用数据库的话我应该怎么办呢.  
    其实sslContext是输出,configureName = nil, clientOrServer =2, WhichKey = nil , pin='88888888' 
     那么我是不是这样申明
    TSSL_Initialize =function(var sslContext : Pointer;ConfigureName :Pchar;clientOrServer : Integer; whichKey : Pointer; PIN : Pchar):Integer ; stdcall;  
    因为WhickKey只能传NULL过去所以我只能把它申明成Pointer类型, 
    我调用的时候是不是这样调用
                  Pin := '88888888';
                  sslContext := AllocMem(1024);
                  //setLength(sslContext,100);
                  iRet := SSL_Initialize(sslContext, nil , 2 , nil , Pin);
    请高手帮我看看我真的很急啊
      

  3.   

    楼上的高手能说的具体一点吗???  我现在的问题 这个函数可以调用了 没有错误发生  返回的是131,但是sslContext值没有变化,那说明是不是我现在函数的申明的类型没有问题 只不过是传进去的值不对了  
    其实我想问一下 调用DLL时  它会不会进行类型的匹配的 ??
      

  4.   

    TSSL_Initialize = function(var sslContext: Pointer; ConfigureName: Pchar; clientOrServer: Integer; whichKey: Integer; PIN: Pchar):Integer ; cdecl;
    nil 改成 0