目前手上有一个用于芯片下载的dll,原来使用VC6.0+SP6开发的,其中USB通讯部分使用了周立功的Easy2148.dll。现在我把下载的流程重新封装成标准的接口类似于    DllExport long int InitConnect(void);之类。使用VC开发PC下载端没有问题,但客户使用Delphi调用该DLL时运行不正确。
  因为我完全不懂Delphi,所以我想问能否使用Delphi进行此类开发,再就是程序的运行速度会不会很慢,因为PC端需要快速的把64K数据发送到下载器(使用LPC2148设计的)
。如果上述两个问题都OK,能不能给些相关的资料,我重新封装。

解决方案 »

  1.   

    Delphi当然可以调VC的DLL,只要加上cdecl调用约定就好,速度不会是问题。网上找一下,资料很多。
      

  2.   

    cdecl调用函数就行了,你用Delphi只需要注意external那个dll就行,调用里面的函数和VC没有很大区别,至于那个LPC2148,最好找点资料,我也不是很懂这个……
      

  3.   

    控制USB接口,delphi调用DLL实现,可以联系我解决。
      

  4.   

    OMG,我以前用Delphi写了个测试程序 可以用不周的EasyUSB.dll 了,直接与其驱动通讯但换过两回电脑了,代码估计难找到。
      

  5.   


    #ifndef LIB_H
    #define LIB_H
    bool _stdcall FindMyDevice(GUID UsbGuid,CString DevPathName)
    bool _stdcall OpenEquipment(GUID UsbGuid) 
    bool _stdcall CloseEquipment()
    bool _stdcall SendData(char WriteBuffer[2])
    #endif c++dll,调用方式如上,delphi调用约定要加上_stdcall,另c++不要用到mfc,否则delphi调用不了,