TDATEINFO
TDATEINFO 结构用于存放日期的相关信息,包括年、月、日:
typedef struct tDateInfo {
WORD year; // 年
BYTE month; // 月
BYTE day; // 日
} TDATEINFO; // 结构大小:4 字节
typedef TDATEINFO *LPTDATEINFO;
TTIMEINFO
TTIMEINFO 结构用于存放时间的相关信息,包括24 小时、分、秒:
typedef struct tTimeInfo {
BYTE hour; // 时
BYTE min; // 分
BYTE sec; // 秒
BYTE reserved; // 保留
} TTIMEINFO; // 结构大小:4 字节
typedef TTIMEINFO *LPTTIMEINFO;DWORD SetHcDateTime(DWORD nPort, DWORD nBaudrate, LPVOID lpDate, LPVOID lpTime);
以上是VC声名------------------------------------------------Private Type DateInfo
    Dyear As Integer
    Dmonth As Byte
    Dday As Byte
    
End TypePrivate Type TimeInfo
    Thour As Byte
    Tmin As Byte
    Tsec As Byte
    Treserved As ByteEnd Type
Private Declare Function SetHcDatetime Lib "comdll.dll" (ByVal nPort As Long, ByVal nBaud As Long, hcDate As DateInfo, hcTime As TimeInfo) As Long请问声名对不对

解决方案 »

  1.   

    可是运行时候说找不到DLL入口点啊
      

  2.   

    Private Declare Function SetHcDatetime Lib "comdll.dll" (ByVal nPort As Long, ByVal nBaud As Long, hcDate As DateInfo, hcTime As TimeInfo) As Long
    ===========
    SetHcDateTime
      

  3.   

    c编写dll时,如果是cpp扩展名的,程序中要用extern "C";另外,
    函数要用DEF文件或者__declspec(dllexport)说明:
    比如extern  "C" __declspec(dllexport) DWORD SetHcDateTime(DWORD nPort, DWORD nBaudrate, LPVOID lpDate, LPVOID lpTime);     
      

  4.   

    你的dll函数导出了没有,还有,是否使用了stdcall调用方式?
      

  5.   

    这些问题都不存在,这个DLL里面的其他函数都是正常的,DLL是别的公司做的
      

  6.   

    你自己用DUMPBIN -exports filename.dll
    看看。
      

  7.   

    Private Declare Function SetHcDateTime Lib "comdll.dll" Alias "_SetHcDateTime@20" (ByVal nPort As Long, ByVal nBaud As Long, hcDate As DateInfo, hcTime As TimeInfo) As Long========
    Alias "_SetHcDateTime@20"