当前位置:首页 » 多媒体相关

VB调用dll(vc)出错,急,在线等!!


vc中函数声明如下:  
  word   _stdcall   rcdes(byte*   desobject,word   objectlen,byte*   desresult,bool   desdo)  
  vb中这样写的:  
  private   declare   function   rcdesa   lib   "d:\desapp.dll"   alias   "rcdes"   (str   as   long,   strlength   as   long,   result   as   long,   byval   flag   as   boolean)   as   long  
   
  error:‘内存不能written  
  请问是那里错了?

推荐阅读

  • 定位500元!威盛P4M890 CONROE市场 [详细内容]
  • 英特尔将携手美光,进入NAND闪存市场? [详细内容]
  • 慎用小‘T’的‘恢复出厂设置’功能 [详细内容]
  • 清凉冰霜感觉 Tt小台风到货420元 [详细内容]
  • 800万DC进入平民视野 柯美X1仅售3050元 [详细内容]
  • 还有一种MP3文件小i不能播放 [详细内容]
  • 酷睿+1G内存+256显卡+19液晶 9999 [详细内容]
  • 网友回答:
    网友:farfh

    指针或者数组好象都要使用byval修饰,以前有位师兄好象这么说过,你用long来传地址肯定不成的。

    网友:cool099

    沒有分配內存吧.  
      傳遞的str和result先要分配內存.

    网友:force_eagle

    private   declare   rcdesa   lib   "desapp.dll"   (desobject   as   byte,   byval   objectlen   as   inteter,   desresult   as   byte   ,   byval   desno   as   long)   as   long  
       
      vb中调用api数组要使用第一个数组元素做传地址方式传入!!!  
       
      确定api是  
      extern   "c"   word   _stdcall   rcdes(byte*   desobject,word   objectlen,byte*   desresult,bool   desdo)  
       
      并使用了def文件吗?

    .

    讨论区

    Login