DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: a1367230164
今日帖子: 17
在线用户: 30
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2018/7/13 16:02:52
标题:
求帮助排错:C++头文件Delphi翻译.pas 浏览:1626
加入我的收藏
楼主: 已经用 Dr. Bob的 Header Converter Utility头文件翻译工具翻译了,有错误,例如:
#pragma once

#ifndef T9Sender_DLL_EXPORT
  #define T9API __declspec( dllimport ) HRESULT __stdcall 
#else
  #define T9API __declspec( dllexport ) HRESULT __stdcall 
#endif
翻译成了:
interface
uses
{$IFDEF WIN32}
  Windows;
{$ELSE}
  Wintypes, WinProcs;
{$ENDIF}

{ #pragma once }

{$IFNDEF T9Sender_DLL_EXPORT}
const
  T9API = __declspec( dllimport ) HRESULT __stdcall;
{$ELSE}
const
  T9API = __declspec( dllexport ) HRESULT __stdcall;
{$ENDIF}
此帖子包含附件:glwang_201871316252.zip 大小:20.5K
----------------------------------------------
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2018/7/13 16:56:09
1楼: .h头文件
#pragma once

#ifndef T9Sender_DLL_EXPORT
  #define T9API __declspec( dllimport ) HRESULT __stdcall 
#else
  #define T9API __declspec( dllexport ) HRESULT __stdcall 
#endif

#define MAX_SCREEN_NUMBER  256

//Comunication Type define
#define COMUNICATION_TYPE_INVALID  0x00  //无效形式
#define COMUNICATION_TYPE_NET    0x01  //网口发送
#define COMUNICATION_TYPE_COM    0x02  //串口发送
#define COMUNICATION_TYPE_ANY    0xFF  //任一形式


//Block define
#define BLOCK_NONE        0
#define BLOCK_ALL        0xffffffff
#define BLOCK_SEND_PIC      0x01
#define BLOCK_SEND_CTRL      0x02
#define BLOCK_ASYN_WRITEFUN    0x04
#define BLOCK_RCV_ANSWER    0x08
#define BLOCK_COEF_PIC      0x10  //逐点校正图片

#define UP_OLD_PROGRAM      0x01
#define UP_NEW_PROGRAM      0x02
#define UP_ALL_PROGRAM      0xff


// 各种回调消息定义
#define CBMSG_DROPFRAM        1    //网卡发送速度跟不上,出现丢帧,此时lParam无意义

#define CBMSG_RECEIVED_NIC_DATA    2    //从接受卡收到了网络数据,lParam,为指向SReceivedNicData的指针
struct SReceivedNicData
{
  LPBYTE dataAddress;
  int     dataLen;
};

#define CBMSG_SAVE_HWParamToRcv    3    //保存参数到接受卡进度报告信息,
                    //lParam高16为状态信息,0正在进行,1成功,2失败,低8位为进度百分比。

#define CBMSG_Read_HWParamFromRcv  4    //从接收卡读取参数进度报告信息,
                    //lParam高8为状态信息,0正在进行,1成功,2失败。
                    //lParam次高8为卡型号
                    //lParam低16位的高八位为高版本号,低8位为低版本号。

#define CBMSG_Read_FPGAFromRcv    5    //从接收卡读取FPGA程序进度报告信息,
                    //lParam高8位状态信息,0正在进行,1成功,2失败
                    //lParam次高8位为卡型号
                    //lParam低16位的高八位为高版本号,低8位为低版本号。

#define CBMSG_Upgrade_FPGAFromRcv  6    //发送FPGA程序到接收卡的进度报告信息,
                    //lParam高8位为状态信息,0正在进行,1成功,2失败
                    //lParam次高8位为进度信息,1开始,2擦除,3写入,4校验,0和前一次相同
                    //lParam最低16位为卡号

#define CBMSG_Detected_RCV_Card    7    //探测到了接受卡,
                    //lParam高16为状态信息,0开始探测,1成功,2失败,3探测到,次低八位为版本信息,低8位为参数卡序号(成功时为卡数量)

#define CBMSG_AsynWriteFunCard_Rslt  8    //异步写功能卡结果
                    //lParam高为状态信息,0失败,1成功,2超时

#define CBMSG_SendCorrectCoef2Rcv   9       //发送校正数据到接收卡的进度信息,
          //lParam高16位为状态信息,0正在进行,1成功,2失败
          //lParam低16位为进度信息,0~100

#define CBMSG_Sending_FPGA_OP    10    //发送卡操作进度报告信息,
                    //lParam高8位为状态信息,0正在进行,1成功,2失败
                    //lParam次高8位为进度信息,1开始,2擦除,3写入,4读取,0和前一次相同
                    //lParam最低16位无意义

#define CBMSG_Open_WinpcapError    11    //Open WinPcapError, lParam指向出错提示的字符串(char*)



/**********
* T9SenderCallback
* 功能说明:
    回调函数,参见各种回调消息定义

* 参数说明:
.   [in]  wParam
  消息类型
.  [in]  lParam
  消息值
.  [in]  data
  其他

* 返回值说明:

**********/
typedef HRESULT (__stdcall *T9SenderCallback)(WPARAM wParam, LPARAM lParam, DWORD data);


extern "C"{

/**********
* T9GetNetAdapterCount
* 功能说明:
    获取机器上已经安装的网卡数量

* 参数说明:
.   [out]  pCount
  返回网卡数量

* 返回值说明:
.   T9_S_OK
  成功 
**********/
T9API  T9GetNetAdapterCount(DWORD *pCount);


/**********
* T9GetNetAdapterInfo
* 功能说明:
    获取网卡信息

* 参数说明: 
.  [in]  index
  网卡索引号
.  [out]  pAdapterId
  返回该网卡的id,pAdapterId指向的内存大小不得小于260个字节
.  [in]  adapterIdBufLen
    pAdapterId实际指向的内存大小
.   [out]  pAdapterDesp
  返回该网卡的描述信息,pAdapterDesp指向的内存大小不得小于260个字节
.  [in]  adapterDespBufLen
  adapterDespBufLen指向的内存大小

* 返回值说明:
.  T9E_Adapter_Not_Exist
  无法获取该网卡的信息
.  T9E_Buffer_Overflow
  pAdapterId或者pAdapterDesp指向的内存太小
.  T9_S_OK
  成功
**********/
T9API  T9GetNetAdapterInfo(DWORD  index,
              char  *pAdapterId,
              DWORD  adapterIdBufLen,  //需大于或者等于260
              char  *pAdapterDesp,
              DWORD  adapterDespBufLen);  //需大于或者等于260


/**********
* T9CreateScreen
* 功能说明:
    创建一个屏幕

* 参数说明: 
.   [in]  number
  新创建屏幕的编号
.  [in]  width
  屏幕宽度
.  [in]  height
  屏幕高度
.  [in]  bVirtual
    是否是虚拟屏

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidNumber
  错误的屏编号,合理编号范围为1到MAX_SCREEN_NUMBER
.  T9E_ScreenAlreadyExist
  该编号的屏已经创建
.  T9E_NoImplement
  功能未实现
.  T9_S_OK
  成功
**********/
T9API  T9CreateScreen(DWORD  number,
             DWORD  width,
             DWORD  height,
             BOOL    bVirtual, 
             int    virtualType, 
             int    connectionType);


/**********
* T9DestroyScreen
* 功能说明:
  删除一个屏幕

* 参数说明: 
.   [in]  number
  需要删除的屏幕的编号

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9_S_OK
  成功
**********/
T9API  T9DestroyScreen(DWORD  number);

/**********
* T9DestroyAllScreen
* 功能说明:
  删除所有屏幕

* 参数说明: 


* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9DestroyAllScreen();

/**********
* T9GetScreenInfo
* 功能说明:
  根据屏幕id号获取屏幕信息

* 参数说明: 
.   [in]  number
  需要获取信息的屏幕编号
.   [out]  pWidth
  返回屏幕宽度
.   [out]  pHeight
  返回屏幕高度
.   [out]  pbVirtual
  返回屏幕是否是虚拟屏

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9_S_OK
  成功
**********/
T9API  T9GetScreenInfo(DWORD  number,
            DWORD  *pWidth,
            DWORD  *pHeight,
            BOOL  *pbVirtual);


/**********
* T9GetScreenCount
* 功能说明:
  获取已经创建的屏幕数量

* 参数说明: 
.   [out]  pCount
  需要删除的屏幕的屏幕号

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9GetScreenCount(DWORD *pCount);


/**********
* T9GetScreenNumber
* 功能说明:
  根据屏幕索引号获取屏幕id

* 参数说明: 
.   [in]  index
  屏幕索引号,索引号区间为[0, 屏幕数量减1]
.   [out]  pNumber
  返回屏幕编号

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidIndex
  无效屏幕索引号,参见index参数说明
.  T9_S_OK
  成功
**********/
T9API  T9GetScreenNumber(  DWORD  index,
              DWORD  *pNumber);

/**********
* T9SetScreenVirtualType
* 功能说明:
  设置虚拟屏幕的类型

* 参数说明: 
.   [in]  number
  需要设置的屏幕的屏幕号

.   [in]  virtualType
  虚拟屏幕的类型

* 返回值说明:
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9_S_OK
  成功
**********/
T9API  T9SetScreenVirtualType(DWORD number, int virtualType);


/**********
* T9SetScreenConnectionStyle
* 功能说明:
  设置虚拟屏幕的类型

* 参数说明: 
.   [in]  number
  需要设置的屏幕的屏幕号

.   [in]  connectionStyle
  接收卡的级联方向

* 返回值说明:
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9_S_OK
  成功
**********/
T9API  T9SetScreenConnectionStyle(DWORD number, int connectionStyle);

/**********
* T9SenderStart
* 功能说明:
   初始化网卡,开始发送图像数据

* 参数说明: 
.  [in]  pAdapterId
  用来发送数据的网卡id

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_NoScreen
  还没有创建屏,需要先创建所有的屏才能开始发送
.  T9E_OpenNICFailed
  打开网卡失败
.  T9_S_OK
  成功
**********/
T9API  T9SenderStart(DWORD comunicationType, LPVOID pParam);


/**********
* T9SenderStop
* 功能说明:
    获取网卡信息

* 参数说明: 

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9SenderStop();

/**********
* T9IsSenderRunning
* 功能说明:
  是否网络收发模块正在运行

* 参数说明: 
  comunicationType 通讯形式,网口或者串口,详见Comunication Type define

* 返回值说明:
.  T9_S_OK
  正在运行
.  T9_E_FAILE
  没有运行
**********/
T9API  T9IsSenderRunning(DWORD comunicationType);

/**********
* T9SetBirghtness
* 功能说明:
      设置亮度

* 参数说明: 
.  [in]  brightness
  亮度值

参数错误
.  T9_S_OK
成功
**********/
T9API  T9SetBirghtness(BYTE bright, BYTE bright_r, BYTE bright_g, BYTE bright_b, BYTE bright_vr, WORD colorTempture);

/**********
* T9SetIsUseRcvParam
* 功能说明:
      设置是否使用接收卡参数

* 参数说明: 
.  [in]  bUseRcvParam
  TRUE,使用接收卡参数,FALSE,使用计算机实时参数

参数错误
.  T9_S_OK
成功
**********/
T9API  T9SetIsUseRcvParam(BOOL bUseRcvParam);

/**********
* T9SetPcRealTimeParam
* 功能说明:
  改变计算机实时参数

* 参数说明: 
.  [in]  lpBuf
  参数块内存地址

* 参数说明: 
.  [in]  bufLen
  参数块内存长度

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9_S_OK
成功
**********/
T9API  T9SetPcRealTimeParam(LPBYTE lpBuf, DWORD bufLen);

/**********
* SetSendParamScreenNumber
* 功能说明:
  设置在哪个屏发送图像数据之前,需要先发送的屏参数据

* 参数说明: 
.  [in]  number
  屏幕编号

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9_S_OK
  成功
**********/
T9API  T9SetSendParamScreenNumber(DWORD number);


/**********
* T9SendControlPack
* 功能说明:
    发送控制参数包

* 参数说明: 
.  [in]  number
  屏幕编号
.  [in]  pBuf
  参数包内存地址
.  [in]  bufLen
  参数包内存长度

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_ParamError
  参数错误,指的传给该函数的参数错误,而不是pBuf内数据错误
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9SendControlPack(LPBYTE pBuf, DWORD bufLen, BYTE portIndex);

/**********
* T9Ctrl_DetectRcvCardEx
* 功能说明:
  探测接收卡

* 参数说明:
  [out] pRcvCount
  返回探测到的接受卡数量

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_DetectRcvCardEx(DWORD *pRcvCount, BYTE portIndex);

/**********
* T9Ctrl_DetectRcvCardEx2
* 功能说明:
  探测接收卡

* 参数说明:
  [in] rcvIndex
  接收卡序号
  [in] pBuf
  内存地址,用来存储接收到的卡信息

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_DetectRcvCardEx2(WORD rcvIndex, LPBYTE pBuf, BYTE portIndex);

/**********
* T9Ctrl_DetectRcvCardEx3
* 功能说明:
  探测接收卡

* 参数说明:
  [in] rcvIndex
  接收卡序号
  [in] pBuf
  内存地址,用来存储接收到的卡信息
  [in] startIndex
  起始卡号
  [in] count
  探测卡的数量

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_DetectRcvCardEx3(DWORD *pRcvCount, BYTE portIndex, WORD startIndex, WORD count);


/**********
* T9Ctrl_DetectRcvCard
* 功能说明:
  探测接收卡

* 参数说明:
  rcvIndex
  接收卡序号,取值范围[0~65536]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_DetectRcvCard(WORD rcvIndex, BYTE portIndex);

/**********
* T9ClearMackPacketCount
* 功能说明:
  清除接收卡网络包计数

* 参数说明:
  rcvIndex
  接收卡序号,取值范围[0~65536]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9ClearMackPacketCount(WORD rcvIndex, BYTE portIndex);


/**********
* T9Ctrl_DetectFunCard
* 功能说明:
  探测功能卡

* 参数说明:
  funCardIndex
  功能卡序号,取值范围[0~254]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_DetectFunCard(int funCardIndex);


/**********
* T9Ctrl_DetectFunCardEx
* 功能说明:
  探测功能卡

* 参数说明:
  funCardIndex
  功能卡序号,取值范围[0~254]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_DetectFunCardEx(int funCardIndex, BYTE portIndex, LPBYTE pBuf);


/**********
* T9Ctrl_5036PixelCheck
* 功能说明:
  5036逐点检测

* 参数说明:
  [in] lpByte
  控制数据内存地址指针
  [in] bufLen
  控制数据长度
  [in] cardIndex
  卡序号

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_5036PixelCheck(LPBYTE lpByte, int bufLen, WORD cardIndex);

/**********
* T9Ctrl_ExecFunPower
* 功能说明:
  功能卡电源控制

* 参数说明:
  [in] lpByte
  控制数据内存地址指针
  [in] bufLen
  控制数据长度

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_ExecFunPower(LPBYTE lpByte, int bufLen);

/**********
* T9Ctrl_ReqParamAndVer
* 功能说明:
  探测功能卡

* 参数说明:
  rcvIndex
  接收卡序号,取值范围[0~65536]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_ReqParamAndVer(WORD rcvIndex);

/**********
* T9Ctrl_FunCard_FlashOperation
* 功能说明:,
  功能卡Flash操作

* 参数说明:
.  [in]  opType  
  操作类型: 取值为FlashOperateType的值
.  [in]  highAddress
  操作目的高位地址
.  [in]  lowAddress
  操作目的低位地址
.  [in]  lpBuf
  opType为flash_op_write,写入的内容,为256个字节长

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_SendThreadNotStart
  发送线程没有启动
.  T9_S_FALSE
  由于内部阻塞,发送的控制命令被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9Ctrl_FunCard_FlashOperation(BYTE  opType, 
                    BYTE  highAddress,
                    BYTE  lowAddress,
                    LPBYTE lpBuf);


/**********
* T9SendScreenPicture
* 功能说明:
    发送一副图像数据(直接发送方式)

* 参数说明: 
.  [in]  number
  屏幕编号
.  [in]  pBuf
  图像数据内存地址

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9E_NoScreenBufPool
  没有创建改屏幕的图像内存缓冲池
.  T9_S_FALSE
  由于内部阻塞,发送的图像数据被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9SendScreenPicture(DWORD  number,
              LPBYTE  pBuf);

/**********
* T9SendScreenCorrectCoef
* 功能说明:
    发送一副图像数据(直接发送方式)

* 参数说明: 
.  [in]  number
  屏幕编号
.  [in]  pBuf
  逐点校正系数地址

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9E_NoScreenBufPool
  没有创建改屏幕的图像内存缓冲池
.  T9_S_FALSE
  由于内部阻塞,发送的图像数据被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9SendScreenCorrectCoef(DWORD  number,
                LPBYTE  pBuf);

/**********
* T9SendScreenBlackPicture
* 功能说明:
    发送一幅黑色的图像给屏幕

* 参数说明: 
.  [in]  number
  屏幕编号

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9E_InvalidScreen
  未曾创建该编号的屏幕
.  T9E_NoScreenBufPool
  没有创建改屏幕的图像内存缓冲池
.  T9_S_FALSE
  由于内部阻塞,发送的图像数据被抛弃
.  T9_S_OK
  成功
**********/
T9API  T9SendScreenBlackPicture(DWORD  number);

/**********
* T9SetCallBackWnd
* 功能说明:
    设置接受底层模块通知的窗口句柄,发送模块通过窗口消息的方式通知上层它的各种信息

* 参数说明: 
.  [in]  hWnd
  窗口句柄
.  [in]  msgId
  发送模块给窗口发送窗口消息的ID号

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
// T9API  T9SetCallBackWnd(HWND hWnd, DWORD msgId);


/**********
* T9SetCallBackFun
* 功能说明:
    设置回调函数,发送模块调用回调函数通知上层各种信息

* 参数说明: 
.  [in]  pCallbackFun
  回调函数指针,如果pCallbackFun等于NULL,清除回调函数设定

* 返回值说明:
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9SetCallBackFun(T9SenderCallback pCallbackFun);

/**********
* T9WriteHWParamToRcvCard
* 功能说明:
    发送参数到接收卡

* 参数说明: 
.  [in]  pBuf
  硬件参数内存地址
.  [in]  bufLen
  硬件参数内存长度
.  [in]  scrnIndex
  屏幕索引号
.  [in]  cardCount,取值范围[1~2047]
  卡数量

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9WriteHWParamToRcvCard(LPBYTE  pBuf, 
                DWORD  bufLen, 
                int    scrnIndex,
                int    skipCount, 
                int    cardCount, 
                BYTE  portIndex,
                BOOL  markedOnly);


/**********
* T9WriteControlAreaToRcvCard
* 功能说明:
    发送参数到接收卡

* 参数说明: 
.  [in]  pBuf
  硬件参数内存地址
.  [in]  bufLen
  硬件参数内存长度
.  [in]  scrnIndex
  屏幕索引号
.  [in]  cardCount,取值范围[1~2047]
  卡数量

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9WriteControlAreaToRcvCard(LPBYTE  pBuf, 
                  DWORD  bufLen, 
                  int    scrnIndex,
                  int    skipCount, 
                  int    cardCount, 
                  BYTE  portIndex,
                  BOOL  markedOnly);


/**********
* T9WriteHWParamToModule
* 功能说明:
    发送参数到模组

* 参数说明: 
.  [in]  pBuf
  硬件参数内存地址
.  [in]  bufLen
  硬件参数内存长度
.  [in]  portIndex,取值范围[0~3]
  发送卡网口号,如果是网口发送模式,给0xff

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9WriteHWParamToModule(  LPBYTE  pBuf, 
                DWORD  bufLen, 
                BYTE  portIndex);

/**********
* T9WriteHWParamToFunCard
* 功能说明:
  发送参数到功能卡

* 参数说明: 
.  [in]  pBuf
  硬件参数内存地址
.  [in]  bufLen
  硬件参数内存长度
.  [in]  scrnIndex
  屏幕索引号
.  [in]  skipCount
  跳过前面的卡不设置,skipCount为跳过的卡数量
.  [in]  funIndex,取值范围[0~254]
  卡数量

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9WriteHWParamToFunCard(LPBYTE pBuf, DWORD bufLen, int funIndex);

/**********
* T9ReadHWParamToFile
* 功能说明:
    从接受卡中读回参数存入指定文件中

* 参数说明: 
.  [in]  pFileName
  保存参数文件的路径名
.  [in]  cardIndex,取值范围[0~254]
  接收卡号

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_NicReadTimeOut
  读数据超时
.  T9E_NoNicDataReceived
  有数据未读出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9ReadHWParamToFile(char *pFileName, WORD cardIndex, BYTE portIndex);

/**********
* T9ReadHWParamToBuffer
* 功能说明:
    从接受卡中读回参数存入指定文件中

* 参数说明: 
.  [in]  cardIndex,取值范围[0~254]
  接收卡号
.  [in]  portIndex
  网口号
.  [in]  lpBuffer
  存储参数文件的内存指针
.  [in,out]  *pBufLen
  内存长度,调用后返回实际读取的长度

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_NicReadTimeOut
  读数据超时
.  T9E_NoNicDataReceived
  有数据未读出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9ReadHWParamToBuffer(WORD cardIndex, BYTE portIndex, LPBYTE lpBuffer, UINT *pBufLen);

/**********
* T9ReadFlashToBuffer
* 功能说明:
    读取flash到内存中

* 参数说明: 
.  [in]  cardIndex,取值范围[0~254]
  接收卡号
.  [in]  hAddress
  高地址
.  [in]  lAddress
  低地址
.  [in]  dataLen
  数据长度
.  [in]  pBuffer
  接收内存地址
.  [in]  portIndex
  网口号
.  [in]  bCallBack
  是否需要回调

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_NicReadTimeOut
  读数据超时
.  T9E_NoNicDataReceived
  有数据未读出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9ReadFlashToBuffer(WORD  rcvIndex, 
              BYTE  hAddress,
              BYTE  lAddress,
              DWORD  dataLen,
              LPBYTE  pBuffer,
              BYTE  portIndex,
              BOOL  bCallBack);

/**********
* T9UpgradeRcvCardFPGA2
* 功能说明:
  升级T9接收卡FPGA程序

* 参数说明: 
.  [in]  lpBuffer
  FPGA程序
.  [in]  bufLen
  FPGA程序字节数
.  [in]  cardIndex
  升级的卡号,[0~2047]时为制定卡,为0xffff时,升级所有卡

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9UpgradeRcvCardFPGA2(LPBYTE lpBuffer, DWORD bufLen, WORD cardIndex, BYTE portIndex, BYTE flags);

/**********
* T9ReadRcvCardFPGA2
* 功能说明:
    从接受卡中读回FPGA存入指定文件中

* 参数说明: 
.  [in]  lpBuffer
  保存FPGA程序的内存地址
.  [in]  bufLen
  保存FPGA程序的内存长度
.  [in]  cardIndex
  接收卡索引号,取值范围[0~254]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_VerifyFailed
  校验失败
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_NicReadTimeOut
  读数据超时
.  T9E_NoNicDataReceived
  有数据未读出
.  T9E_ParamError
  参数错误
.  T9E_TooLittleBuffer
  分配的内存太小
.  T9_S_OK
  成功
**********/
T9API  T9ReadRcvCardFPGA2(LPBYTE lpBuffer, DWORD *pBufLen, WORD cardIndex, BYTE portIndex);

/**********
* T9ClearCCCoefData
* 功能说明:
    清除逐点亮度校正系数

* 参数说明: 
  无参数

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9ClearCCCoefData();

/**********
* T9AddCCCoef
* 功能说明:
    添加一张接收卡的亮度逐点校正数据

* 参数说明: 
.  [in]  rcvIndex
  接收卡序号,从0开始计数
.  [in]  lpCCCoefBuf
  逐点校正数据  
.  [in]  bufLen
  校正数据内存长度

* 返回值说明:
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_OK
  成功
**********/
T9API  T9AddCCCoef(WORD rcvIndex, LPBYTE lpCCCoefBuf, int bufLen);

/**********
* T9WriteCCCoefToRcvCard
* 功能说明:
    将逐点亮度校正数据存入接收卡中

* 参数说明: 
  无参数

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9WriteCCCoefToRcvCard(BYTE portIndex);

/**********
* T9LoadRcvCCCoef
* 功能说明:
    将卡中预存的逐点亮度校正系数载入sd ram

* 参数说明: 
  无参数

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9LoadRcvCCCoef(BYTE portIndex);


/**********
* T9ClearChromaCCoefData
* 功能说明:
    清除逐点色度校正系数

* 参数说明: 
  无参数

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9ClearChromaCCoefData();

/**********
* T9AddChromaCCoef
* 功能说明:
    添加一张接收卡的逐点色度校正数据

* 参数说明: 
.  [in]  rcvIndex
  接收卡序号,从0开始计数
.  [in]  lpCCCoefBuf
  逐点校正数据  
.  [in]  bufLen
  校正数据内存长度

* 返回值说明:
.  T9E_OutOfMemeroy
  内存溢出
.  T9_S_OK
  成功
**********/
T9API  T9AddChromaCCoef(WORD rcvIndex, LPBYTE lpCCCoefBuf, int bufLen);

/**********
* T9WriteChromaCCoefToRcvCard
* 功能说明:
    将逐点色度校正数据存入接收卡中

* 参数说明: 
  无参数

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9WriteChromaCCoefToRcvCard(BYTE portIndex);

/**********
* T9LoadRcvChromaCCoef
* 功能说明:
    将卡中预存的逐点色度校正系数载入sd ram

* 参数说明: 
  无参数

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9LoadRcvChromaCCoef(BYTE portIndex);

/**********
* T9ReadRcvCardFPGA
* 功能说明:
    从接受卡中读回FPGA程序存入指定文件中

* 参数说明: 
.  [in]  pFileName
  保存参数文件的路径名
.  [in]  cardIndex
  接收卡索引号,取值范围[0~254]

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_VerifyFailed
  校验失败
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_NicReadTimeOut
  读数据超时
.  T9E_NoNicDataReceived
  有数据未读出
.  T9E_ParamError
  参数错误
.  T9E_OpenFileError
  打开文件出错
.  T9E_InvalidFile
  非法文件
.  T9E_ReadFileError
  读文件出错
.  T9_S_OK
  成功
**********/
T9API  T9ReadRcvCardFPGA(char *pFileName, WORD cardIndex, BYTE portIndex);


/**********
* T9AsynWriteFunCard
* 功能说明:
    异步写功能卡数据

* 参数说明: 
.  [in]  funCardIndex
  功能卡序号
.  [in]  pBuffer
  写入的数据内存地址
.  [in]  bufLen
  写入的数据长度
.  [in]  highAddress
  高位地址
.  [in]  lowAddress
  地位地址
.  [in]  timeOut
  最长允许发送的时间,单位:毫秒

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9AsynWriteFunCard(  int    funCardIndex,
              LPBYTE  pBuffer,
              DWORD  bufLen,
              int    highAddress,
              int    lowAddress,
              DWORD  timeOut);

/**********
* T9StroageErase
* 功能说明:
    擦除接收卡上Flash存储空间里的数据

* 参数说明: 
.  [in]  rcvIndex
  接收卡序号
.  [in]  startBlock
  开始擦除的扇区索引号
.  [in]  blockCount
  擦除的扇区数量

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9StroageErase(WORD    rcvIndex,
             WORD    startBlock,
             WORD    blockCount);

/**********
* T9StroageWritePage
* 功能说明:
    向接收卡上Flash存储空间里写入一个page的数据

* 参数说明: 
.  [in]  rcvIndex
  接收卡序号
.  [in]  pageIndex
  页面序号
.  [in]  pBuffer
  指向将写入扇区的数据的起始地址
.  [in]  pageSize
  page大小

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9StroageWritePage(  WORD  rcvIndex,
              DWORD  pageIndex,
              LPBYTE  pBuffer,
              int    pageSize);

/**********
* T9StroageWriteSeciton
* 功能说明:
    向接收卡上Flash存储空间里写入一个扇区的数据

* 参数说明: 
.  [in]  rcvIndex
  接收卡序号
.  [in]  sectionIndex
  扇区卡序号
.  [in]  sectionSize
  扇区大小
.  [in]  pBuffer
  指向将写入扇区的数据的起始地址
.  [in]  timeout
  超过timeout时间没有写完算超时

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9StroageWriteSeciton( WORD    rcvIndex,
                 DWORD  sectionIndex,
                 DWORD  sectionSize,
                 LPBYTE  pBuffer,
                 DWORD  timeout);


/**********
* T9SendDelayPacket
* 功能说明:
    插入一个延时数据包

* 参数说明: 
.  [in]  packetSize
  接收卡序号
.  [in]  bAsyn
  是否加入到队列中

* 返回值说明:
.  T9E_NICNotInitialized
  网卡没有初始化
.  T9E_OutOfMemeroy
  内存溢出
.  T9E_ParamError
  参数错误
.  T9_S_OK
  成功
**********/
T9API  T9SendDelayPacket(DWORD packetSize, BOOL bAsyn);

/**********
* T9SetLineSpace
* 功能说明:
  设置发送数据时的行间隙
* 参数说明: 
.  [in]  lineSpace
  行间隙点数

* 返回值说明:
.  T9_S_OK
  成功
**********/
// T9API  T9SetLineSpace(int lineSpace);


// /**********
// * T9SetBigModuleMode
// * 功能说明:
//   设置为大模组模式
// * 参数说明: 
// .  [in]  bigModuleMode
//   大模组模式:详见BigMoudule_Mode定义
// 
// * 返回值说明:
// .  T9_S_OK
//   成功
// **********/
// T9API  T9SetBigModuleMode(int bigModuleMode);


/**********
* T9ClearSendCache
* 功能说明:
  清除发送缓存
* 参数说明: 

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9ClearSendCache();


/**********
* T9SetScreenHollow
* 功能说明:
  清除发送缓存
* 参数说明: 
.  [in]  scrnNumber
  屏幕序号
.  [in]  bNeedHollow
  是否抠屏
.  [in]  senderRegion
  抠屏区域

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9SetScreenHollow(int    scrnNumber,
              BOOL    bNeedHollow,
              DWORD    senderRegion);

/**********
* T9SendParam
* 功能说明:
  发送实时参数到接受卡上
* 参数说明: 

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9SendParam();

/**********
* T9ReadModuleInfo
* 功能说明:
  获取模组信息
* 参数说明: 
.  [in]  portIndex
  发送卡网口号
.  [in]  rcvIndex
  接收卡序号
.  [in]  moduleIndex
  模组序号
.  [in]  pBasicInfoBuf
  指向存储模组基本信息的内存
.  [in,out]  pBasicLen
  指定pBasicInfoBuf指向的内存长度,并返回实际使用的长度
.  [in]    pMaintainInfoBuf
  指向存储维修记录的内存
.  [in,out]  maintainBufLen
  指定pMaintainInfoBuf指向的内存长度,并返回实际使用的长度

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9ReadModuleInfo(BYTE  portIndex,
             int  rcvIndex,
             int  moduleIndex,
             LPBYTE pBasicInfoBuf,
             int  *pBasicLen,
             LPBYTE pMaintainInfoBuf,
             int  *pMaintainBufLen,
             LPVOID pWatcher);


/**********
* T9WriteModuleInfo
* 功能说明:
  获取模组信息
* 参数说明: 
.  [in]  portIndex
  发送卡网口号
.  [in]  rcvIndex
  接收卡序号
.  [in]  moduleIndex
  模组序号
.  [in]  pBasicInfoBuf
  指向存储模组基本信息的内存
.  [in]  basicLen
  指定pBasicInfoBuf指向的内存长度
.  [in]  pMaintainInfoBuf
  指向存储维修记录的内存
.  [in]  maintainBufLen
  指定pMaintainInfoBuf指向的内存长度

* 返回值说明:
.  T9_S_OK
  成功
**********/
T9API  T9WriteModuleInfo(BYTE  portIndex,
             int  rcvIndex,
             int  moduleIndex,
             LPBYTE pBasicInfoBuf,
             int  basicLen,
             LPBYTE pMaintainInfoBuf,
             int  maintainBufLen,
             LPVOID pWatcher);


T9API  T9SetBlockFlags(DWORD blockFlags);
T9API  T9ClearFlashSector(WORD portIndex, WORD rcvIndex, BYTE hAddress);
T9API  T9ClearFlashSector4KB(WORD portIndex, WORD rcvIndex, BYTE hAddress, BYTE lAddress);
T9API  T9Write256BytesToFlash(WORD portIndex, WORD rcvIndex, BYTE hAddress, BYTE lAddress, LPBYTE lpBuf);
T9API  T9ReadPixelDetectInfo(  WORD portIndex,
                WORD rcvIndex,
                BYTE dataIndex,
                BYTE scanIndex,
                BYTE openOrBroken,
                WORD startPos,
                WORD dataLen,
                LPBYTE lpBuf);



/**********
* T9SetSendingCardTypeVersion
* 功能说明:
  设置发送卡的版本号
* 参数说明: 

* 返回值说明:
.  T9_S_OK
成功
**********/
T9API  T9SetSendingCardTypeVersion(int type, int majorVersion, int minorVersion);

T9API  T9EnableCorrect(BOOL bEnable, WORD rcvIndex, BYTE portIndex);
T9API  T9EnableChromaCorrect(BOOL bEnable, WORD rcvIndex, BYTE portIndex);

//读写发送卡Flash
T9API  T9ReadSendingFlash(DWORD startAddress, LPBYTE pBuffer, DWORD bufLen);
T9API  T9WriteSendingFlash(DWORD startAddress, LPBYTE pBuffer, DWORD bufLen);
T9API  T9WriteSendingFlash4kBStyle(DWORD startAddress, LPBYTE pBuffer, DWORD bufLen);
T9API  T9ClearSendingFlash4kB(DWORD startAddress);
T9API  T9ClearSendingFlash64kB(DWORD startAddress);
T9API  T9AtomicWriteSending256Bytes(DWORD startAddress, LPBYTE pBuffer);
T9API  T9SendSendingCmd(LPBYTE pCmdBuf, DWORD bufLen);
T9API  T9SendSendingCmdEx(LPBYTE pCmdBuf, DWORD bufLen, LPBYTE pBufOut, DWORD *pOutLen, int firstReadTime, int timeout);

T9API  T9SetRectSignal(int x, int y, int width, int height);
T9API  T9SetSendingCardGama(BYTE scIndex, BOOL bSave, float gama);
}
----------------------------------------------
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2018/7/13 16:58:26
2楼: Dr.Bob翻译工具自动翻译pas:
unit T9SENDAPI;
{**********}
{          }
{    This C DLL header file first (automatic) conversion generated by:     }
{    HeadConv 4.0 (c) 2000 by Bob Swart (aka Dr.Bob - www.drbob42.com)     }
{      Final Delphi-Jedi (Darth) command-line units edition          }
{          }
{    Generated Date:  2018/7/13          }
{    Generated Time: 15:33:53          }
{          }
{**********}

interface
uses
{$IFDEF WIN32}
  Windows;
{$ELSE}
  Wintypes, WinProcs;
{$ENDIF}



{ #pragma once }

{$IFNDEF T9Sender_DLL_EXPORT}
const
  T9API = __declspec( dllimport ) HRESULT __stdcall;
{$ELSE}
const
  T9API = __declspec( dllexport ) HRESULT __stdcall;
{$ENDIF}

const
  MAX_SCREEN_NUMBER = 256;

{///Comunication Type define }
const
  COMUNICATION_TYPE_INVALID = $00; {//无效形式}
const
  COMUNICATION_TYPE_NET = $01; {//网口发送}
const
  COMUNICATION_TYPE_COM = $02; {//串口发送}
const
  COMUNICATION_TYPE_ANY = $F; {//任一形式}


{///Block define }
const
  BLOCK_NONE = 0;
const
  BLOCK_ALL = $ffffffff;
const
  BLOCK_SEND_PIC = $01;
const
  BLOCK_SEND_CTRL = $02;
const
  BLOCK_ASYN_WRITEFUN = $04;
const
  BLOCK_RCV_ANSWER = $08;
const
  BLOCK_COEF_PIC = $10; {//逐点校正图片}

const
  UP_OLD_PROGRAM = $01;
const
  UP_NEW_PROGRAM = $02;
const
  UP_ALL_PROGRAM = $ff;


{/// 各种回调消息定义 }
const
  CBMSG_DROPFRAM = 1; {//网卡发送速度跟不上,出现丢帧,此时lParam无意义}

const
  CBMSG_RECEIVED_NIC_DATA = 2; {//从接受卡收到了网络数据,lParam,为指向SReceivedNicData的指针}
type
  SReceivedNicData = record
    dataAddress: PBYTE;
    dataLen: Integer;
  end {SReceivedNicData};

const
  CBMSG_SAVE_HWParamToRcv = 3; {//保存参数到接受卡进度报告信息,}
{///lParam高16为状态信息,0正在进行,1成功,2失败,低8位为进度百分比。 }

const
  CBMSG_Read_HWParamFromRcv = 4; {//从接收卡读取参数进度报告信息,}
{///lParam高8为状态信息,0正在进行,1成功,2失败。 }
{///lParam次高8为卡型号 }
{///lParam低16位的高八位为高版本号,低8位为低版本号。 }

const
  CBMSG_Read_FPGAFromRcv = 5; {//从接收卡读取FPGA程序进度报告信息,}
{///lParam高8位状态信息,0正在进行,1成功,2失败 }
{///lParam次高8位为卡型号 }
{///lParam低16位的高八位为高版本号,低8位为低版本号。 }

const
  CBMSG_Upgrade_FPGAFromRcv = 6; {//发送FPGA程序到接收卡的进度报告信息,}
{///lParam高8位为状态信息,0正在进行,1成功,2失败 }
{///lParam次高8位为进度信息,1开始,2擦除,3写入,4校验,0和前一次相同 }
{///lParam最低16位为卡号 }

const
  CBMSG_Detected_RCV_Card = 7; {//探测到了接受卡,}
{///lParam高16为状态信息,0开始探测,1成功,2失败,3探测到,次低八位为版本信息,低8位为参数卡序号(成功时为卡数量) }

const
  CBMSG_AsynWriteFunCard_Rslt = 8; {//异步写功能卡结果}
{///lParam高为状态信息,0失败,1成功,2超时 }

const
  CBMSG_SendCorrectCoef2Rcv = 9; {//发送校正数据到接收卡的进度信息,}
{///lParam高16位为状态信息,0正在进行,1成功,2失败 }
{///lParam低16位为进度信息,0~100 }

const
  CBMSG_Sending_FPGA_OP = 10; {//发送卡操作进度报告信息,}
{///lParam高8位为状态信息,0正在进行,1成功,2失败 }
{///lParam次高8位为进度信息,1开始,2擦除,3写入,4读取,0和前一次相同 }
{///lParam最低16位无意义 }

const
  CBMSG_Open_WinpcapError = 11; {//Open WinPcapError, lParam指向出错提示的字符串(char* )}



{+//********** }
{-* T9SenderCallback }
{-* 功能说明: }
{-回调函数,参见各种回调消息定义 }

{-* 参数说明: }
{-. [in] wParam }
{-消息类型 }
{-. [in] lParam }
{-消息值 }
{-. [in] data }
{-其他 }

{-* 返回值说明: }

{=********** }
type
  = HRESULT (__STDCALL*T9SENDERCALLBACK)(WPARAM WPARAM, LPARAM LPARAM, DWORD DATA);



{+//********** }
{-* T9GetNetAdapterCount }
{-* 功能说明: }
{-获取机器上已经安装的网卡数量 }

{-* 参数说明: }
{-. [out] pCount }
{-返回网卡数量 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9GetNetAdapterCount: function(pCount: PLongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9GetNetAdapterInfo }
{-* 功能说明: }
{-获取网卡信息 }

{-* 参数说明: }
{-. [in] index }
{-网卡索引号 }
{-. [out] pAdapterId }
{-返回该网卡的id,pAdapterId指向的内存大小不得小于260个字节 }
{-. [in] adapterIdBufLen }
{-pAdapterId实际指向的内存大小 }
{-. [out] pAdapterDesp }
{-返回该网卡的描述信息,pAdapterDesp指向的内存大小不得小于260个字节 }
{-. [in] adapterDespBufLen }
{-adapterDespBufLen指向的内存大小 }

{-* 返回值说明: }
{-. T9E_Adapter_Not_Exist }
{-无法获取该网卡的信息 }
{-. T9E_Buffer_Overflow }
{-pAdapterId或者pAdapterDesp指向的内存太小 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9GetNetAdapterInfo: function(index: LongInt; 
          pAdapterId: PChar; 
          adapterIdBufLen: LongInt; 
          pAdapterDesp: PChar; 
          adapterDespBufLen: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9CreateScreen }
{-* 功能说明: }
{-创建一个屏幕 }

{-* 参数说明: }
{-. [in] number }
{-新创建屏幕的编号 }
{-. [in] width }
{-屏幕宽度 }
{-. [in] height }
{-屏幕高度 }
{-. [in] bVirtual }
{-是否是虚拟屏 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidNumber }
{-错误的屏编号,合理编号范围为1到MAX_SCREEN_NUMBER }
{-. T9E_ScreenAlreadyExist }
{-该编号的屏已经创建 }
{-. T9E_NoImplement }
{-功能未实现 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9CreateScreen: function(number: LongInt; 
          width: LongInt; 
          height: LongInt; 
          bVirtual: Bool; 
          virtualType: Integer; 
          connectionType: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9DestroyScreen }
{-* 功能说明: }
{-删除一个屏幕 }

{-* 参数说明: }
{-. [in] number }
{-需要删除的屏幕的编号 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9DestroyScreen: function(number: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9DestroyAllScreen }
{-* 功能说明: }
{-删除所有屏幕 }

{-* 参数说明: }


{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9DestroyAllScreen: function: T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9GetScreenInfo }
{-* 功能说明: }
{-根据屏幕id号获取屏幕信息 }

{-* 参数说明: }
{-. [in] number }
{-需要获取信息的屏幕编号 }
{-. [out] pWidth }
{-返回屏幕宽度 }
{-. [out] pHeight }
{-返回屏幕高度 }
{-. [out] pbVirtual }
{-返回屏幕是否是虚拟屏 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9GetScreenInfo: function(number: LongInt; 
          var pWidth: LongInt; 
          var pHeight: LongInt; 
          var pbVirtual: Bool): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9GetScreenCount }
{-* 功能说明: }
{-获取已经创建的屏幕数量 }

{-* 参数说明: }
{-. [out] pCount }
{-需要删除的屏幕的屏幕号 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9GetScreenCount: function(var pCount: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9GetScreenNumber }
{-* 功能说明: }
{-根据屏幕索引号获取屏幕id }

{-* 参数说明: }
{-. [in] index }
{-屏幕索引号,索引号区间为[0, 屏幕数量减1] }
{-. [out] pNumber }
{-返回屏幕编号 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidIndex }
{-无效屏幕索引号,参见index参数说明 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9GetScreenNumber: function(index: LongInt; 
          var pNumber: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SetScreenVirtualType }
{-* 功能说明: }
{-设置虚拟屏幕的类型 }

{-* 参数说明: }
{-. [in] number }
{-需要设置的屏幕的屏幕号 }

{-. [in] virtualType }
{-虚拟屏幕的类型 }

{-* 返回值说明: }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetScreenVirtualType: function(number: LongInt; 
          virtualType: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9SetScreenConnectionStyle }
{-* 功能说明: }
{-设置虚拟屏幕的类型 }

{-* 参数说明: }
{-. [in] number }
{-需要设置的屏幕的屏幕号 }

{-. [in] connectionStyle }
{-接收卡的级联方向 }

{-* 返回值说明: }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetScreenConnectionStyle: function(number: LongInt; 
          connectionStyle: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SenderStart }
{-* 功能说明: }
{-初始化网卡,开始发送图像数据 }

{-* 参数说明: }
{-. [in] pAdapterId }
{-用来发送数据的网卡id }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_NoScreen }
{-还没有创建屏,需要先创建所有的屏才能开始发送 }
{-. T9E_OpenNICFailed }
{-打开网卡失败 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SenderStart: function(comunicationType: LongInt; 
          var pParam: VOID): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9SenderStop }
{-* 功能说明: }
{-获取网卡信息 }

{-* 参数说明: }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SenderStop: function: T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9IsSenderRunning }
{-* 功能说明: }
{-是否网络收发模块正在运行 }

{-* 参数说明: }
{-comunicationType 通讯形式,网口或者串口,详见Comunication Type define }

{-* 返回值说明: }
{-. T9_S_OK }
{-正在运行 }
{-. T9_E_FAILE }
{-没有运行 }
{=********** }
var
  T9IsSenderRunning: function(comunicationType: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SetBirghtness }
{-* 功能说明: }
{-设置亮度 }

{-* 参数说明: }
{-. [in] brightness }
{-亮度值 }

{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetBirghtness: function(bright: BYTE; 
          bright_r: BYTE; 
          bright_g: BYTE; 
          bright_b: BYTE; 
          bright_vr: BYTE; 
          colorTempture: Word): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SetIsUseRcvParam }
{-* 功能说明: }
{-设置是否使用接收卡参数 }

{-* 参数说明: }
{-. [in] bUseRcvParam }
{-TRUE,使用接收卡参数,FALSE,使用计算机实时参数 }

{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetIsUseRcvParam: function(bUseRcvParam: Bool): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SetPcRealTimeParam }
{-* 功能说明: }
{-改变计算机实时参数 }

{-* 参数说明: }
{-. [in] lpBuf }
{-参数块内存地址 }

{-* 参数说明: }
{-. [in] bufLen }
{-参数块内存长度 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetPcRealTimeParam: function(var lpBuf: BYTE; 
          bufLen: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* SetSendParamScreenNumber }
{-* 功能说明: }
{-设置在哪个屏发送图像数据之前,需要先发送的屏参数据 }

{-* 参数说明: }
{-. [in] number }
{-屏幕编号 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetSendParamScreenNumber: function(number: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9SendControlPack }
{-* 功能说明: }
{-发送控制参数包 }

{-* 参数说明: }
{-. [in] number }
{-屏幕编号 }
{-. [in] pBuf }
{-参数包内存地址 }
{-. [in] bufLen }
{-参数包内存长度 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_ParamError }
{-参数错误,指的传给该函数的参数错误,而不是pBuf内数据错误 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SendControlPack: function(var pBuf: BYTE; 
          bufLen: LongInt; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9Ctrl_DetectRcvCardEx }
{-* 功能说明: }
{-探测接收卡 }

{-* 参数说明: }
{-[out] pRcvCount }
{-返回探测到的接受卡数量 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_DetectRcvCardEx: function(var pRcvCount: LongInt; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9Ctrl_DetectRcvCardEx2 }
{-* 功能说明: }
{-探测接收卡 }

{-* 参数说明: }
{-[in] rcvIndex }
{-接收卡序号 }
{-[in] pBuf }
{-内存地址,用来存储接收到的卡信息 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_DetectRcvCardEx2: function(rcvIndex: Word; 
          var pBuf: BYTE; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9Ctrl_DetectRcvCardEx3 }
{-* 功能说明: }
{-探测接收卡 }

{-* 参数说明: }
{-[in] rcvIndex }
{-接收卡序号 }
{-[in] pBuf }
{-内存地址,用来存储接收到的卡信息 }
{-[in] startIndex }
{-起始卡号 }
{-[in] count }
{-探测卡的数量 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_DetectRcvCardEx3: function(var pRcvCount: LongInt; 
          portIndex: BYTE; 
          startIndex: Word; 
          count: Word): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9Ctrl_DetectRcvCard }
{-* 功能说明: }
{-探测接收卡 }

{-* 参数说明: }
{-rcvIndex }
{-接收卡序号,取值范围[0~65536] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_DetectRcvCard: function(rcvIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ClearMackPacketCount }
{-* 功能说明: }
{-清除接收卡网络包计数 }

{-* 参数说明: }
{-rcvIndex }
{-接收卡序号,取值范围[0~65536] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ClearMackPacketCount: function(rcvIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9Ctrl_DetectFunCard }
{-* 功能说明: }
{-探测功能卡 }

{-* 参数说明: }
{-funCardIndex }
{-功能卡序号,取值范围[0~254] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_DetectFunCard: function(funCardIndex: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9Ctrl_DetectFunCardEx }
{-* 功能说明: }
{-探测功能卡 }

{-* 参数说明: }
{-funCardIndex }
{-功能卡序号,取值范围[0~254] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_DetectFunCardEx: function(funCardIndex: Integer; 
          portIndex: BYTE; 
          var pBuf: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9Ctrl_5036PixelCheck }
{-* 功能说明: }
{-5036逐点检测 }

{-* 参数说明: }
{-[in] lpByte }
{-控制数据内存地址指针 }
{-[in] bufLen }
{-控制数据长度 }
{-[in] cardIndex }
{-卡序号 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_5036PixelCheck: function(var lpByte: BYTE; 
          bufLen: Integer; 
          cardIndex: Word): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9Ctrl_ExecFunPower }
{-* 功能说明: }
{-功能卡电源控制 }

{-* 参数说明: }
{-[in] lpByte }
{-控制数据内存地址指针 }
{-[in] bufLen }
{-控制数据长度 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_ExecFunPower: function(var lpByte: BYTE; 
          bufLen: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9Ctrl_ReqParamAndVer }
{-* 功能说明: }
{-探测功能卡 }

{-* 参数说明: }
{-rcvIndex }
{-接收卡序号,取值范围[0~65536] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_ReqParamAndVer: function(rcvIndex: Word): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9Ctrl_FunCard_FlashOperation }
{-* 功能说明:, }
{-功能卡Flash操作 }

{-* 参数说明: }
{-. [in] opType }
{-操作类型: 取值为FlashOperateType的值 }
{-. [in] highAddress }
{-操作目的高位地址 }
{-. [in] lowAddress }
{-操作目的低位地址 }
{-. [in] lpBuf }
{-opType为flash_op_write,写入的内容,为256个字节长 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_SendThreadNotStart }
{-发送线程没有启动 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的控制命令被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9Ctrl_FunCard_FlashOperation: function(opType: BYTE; 
          highAddress: BYTE; 
          lowAddress: BYTE; 
          var lpBuf: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9SendScreenPicture }
{-* 功能说明: }
{-发送一副图像数据(直接发送方式) }

{-* 参数说明: }
{-. [in] number }
{-屏幕编号 }
{-. [in] pBuf }
{-图像数据内存地址 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9E_NoScreenBufPool }
{-没有创建改屏幕的图像内存缓冲池 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的图像数据被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SendScreenPicture: function(number: LongInt; 
          var pBuf: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SendScreenCorrectCoef }
{-* 功能说明: }
{-发送一副图像数据(直接发送方式) }

{-* 参数说明: }
{-. [in] number }
{-屏幕编号 }
{-. [in] pBuf }
{-逐点校正系数地址 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9E_NoScreenBufPool }
{-没有创建改屏幕的图像内存缓冲池 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的图像数据被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SendScreenCorrectCoef: function(number: LongInt; 
          var pBuf: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SendScreenBlackPicture }
{-* 功能说明: }
{-发送一幅黑色的图像给屏幕 }

{-* 参数说明: }
{-. [in] number }
{-屏幕编号 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_InvalidScreen }
{-未曾创建该编号的屏幕 }
{-. T9E_NoScreenBufPool }
{-没有创建改屏幕的图像内存缓冲池 }
{-. T9_S_FALSE }
{-由于内部阻塞,发送的图像数据被抛弃 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SendScreenBlackPicture: function(number: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SetCallBackWnd }
{-* 功能说明: }
{-设置接受底层模块通知的窗口句柄,发送模块通过窗口消息的方式通知上层它的各种信息 }

{-* 参数说明: }
{-. [in] hWnd }
{-窗口句柄 }
{-. [in] msgId }
{-发送模块给窗口发送窗口消息的ID号 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
{/// T9API T9SetCallBackWnd(HWND hWnd, DWORD msgId); }


{+//********** }
{-* T9SetCallBackFun }
{-* 功能说明: }
{-设置回调函数,发送模块调用回调函数通知上层各种信息 }

{-* 参数说明: }
{-. [in] pCallbackFun }
{-回调函数指针,如果pCallbackFun等于NULL,清除回调函数设定 }

{-* 返回值说明: }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetCallBackFun: function(pCallbackFun: T9SENDERCALLBACK): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9WriteHWParamToRcvCard }
{-* 功能说明: }
{-发送参数到接收卡 }

{-* 参数说明: }
{-. [in] pBuf }
{-硬件参数内存地址 }
{-. [in] bufLen }
{-硬件参数内存长度 }
{-. [in] scrnIndex }
{-屏幕索引号 }
{-. [in] cardCount,取值范围[1~2047] }
{-卡数量 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteHWParamToRcvCard: function(var pBuf: BYTE; 
          bufLen: LongInt; 
          scrnIndex: Integer; 
          skipCount: Integer; 
          cardCount: Integer; 
          portIndex: BYTE; 
          markedOnly: Bool): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9WriteControlAreaToRcvCard }
{-* 功能说明: }
{-发送参数到接收卡 }

{-* 参数说明: }
{-. [in] pBuf }
{-硬件参数内存地址 }
{-. [in] bufLen }
{-硬件参数内存长度 }
{-. [in] scrnIndex }
{-屏幕索引号 }
{-. [in] cardCount,取值范围[1~2047] }
{-卡数量 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteControlAreaToRcvCard: function(var pBuf: BYTE; 
          bufLen: LongInt; 
          scrnIndex: Integer; 
          skipCount: Integer; 
          cardCount: Integer; 
          portIndex: BYTE; 
          markedOnly: Bool): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9WriteHWParamToModule }
{-* 功能说明: }
{-发送参数到模组 }

{-* 参数说明: }
{-. [in] pBuf }
{-硬件参数内存地址 }
{-. [in] bufLen }
{-硬件参数内存长度 }
{-. [in] portIndex,取值范围[0~3] }
{-发送卡网口号,如果是网口发送模式,给0xff }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteHWParamToModule: function(var pBuf: BYTE; 
          bufLen: LongInt; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9WriteHWParamToFunCard }
{-* 功能说明: }
{-发送参数到功能卡 }

{-* 参数说明: }
{-. [in] pBuf }
{-硬件参数内存地址 }
{-. [in] bufLen }
{-硬件参数内存长度 }
{-. [in] scrnIndex }
{-屏幕索引号 }
{-. [in] skipCount }
{-跳过前面的卡不设置,skipCount为跳过的卡数量 }
{-. [in] funIndex,取值范围[0~254] }
{-卡数量 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteHWParamToFunCard: function(var pBuf: BYTE; 
          bufLen: LongInt; 
          funIndex: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ReadHWParamToFile }
{-* 功能说明: }
{-从接受卡中读回参数存入指定文件中 }

{-* 参数说明: }
{-. [in] pFileName }
{-保存参数文件的路径名 }
{-. [in] cardIndex,取值范围[0~254] }
{-接收卡号 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_NicReadTimeOut }
{-读数据超时 }
{-. T9E_NoNicDataReceived }
{-有数据未读出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ReadHWParamToFile: function(pFileName: PChar; 
          cardIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ReadHWParamToBuffer }
{-* 功能说明: }
{-从接受卡中读回参数存入指定文件中 }

{-* 参数说明: }
{-. [in] cardIndex,取值范围[0~254] }
{-接收卡号 }
{-. [in] portIndex }
{-网口号 }
{-. [in] lpBuffer }
{-存储参数文件的内存指针 }
{-. [in,out]*pBufLen }
{-内存长度,调用后返回实际读取的长度 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_NicReadTimeOut }
{-读数据超时 }
{-. T9E_NoNicDataReceived }
{-有数据未读出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ReadHWParamToBuffer: function(cardIndex: Word; 
          portIndex: BYTE; 
          var lpBuffer: BYTE; 
          var pBufLen: Word): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ReadFlashToBuffer }
{-* 功能说明: }
{-读取flash到内存中 }

{-* 参数说明: }
{-. [in] cardIndex,取值范围[0~254] }
{-接收卡号 }
{-. [in] hAddress }
{-高地址 }
{-. [in] lAddress }
{-低地址 }
{-. [in] dataLen }
{-数据长度 }
{-. [in] pBuffer }
{-接收内存地址 }
{-. [in] portIndex }
{-网口号 }
{-. [in] bCallBack }
{-是否需要回调 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_NicReadTimeOut }
{-读数据超时 }
{-. T9E_NoNicDataReceived }
{-有数据未读出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ReadFlashToBuffer: function(rcvIndex: Word; 
          hAddress: BYTE; 
          lAddress: BYTE; 
          dataLen: LongInt; 
          var pBuffer: BYTE; 
          portIndex: BYTE; 
          bCallBack: Bool): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9UpgradeRcvCardFPGA2 }
{-* 功能说明: }
{-升级T9接收卡FPGA程序 }

{-* 参数说明: }
{-. [in] lpBuffer }
{-FPGA程序 }
{-. [in] bufLen }
{-FPGA程序字节数 }
{-. [in] cardIndex }
{-升级的卡号,[0~2047]时为制定卡,为0xffff时,升级所有卡 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9UpgradeRcvCardFPGA2: function(var lpBuffer: BYTE; 
          bufLen: LongInt; 
          cardIndex: Word; 
          portIndex: BYTE; 
          flags: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ReadRcvCardFPGA2 }
{-* 功能说明: }
{-从接受卡中读回FPGA存入指定文件中 }

{-* 参数说明: }
{-. [in] lpBuffer }
{-保存FPGA程序的内存地址 }
{-. [in] bufLen }
{-保存FPGA程序的内存长度 }
{-. [in] cardIndex }
{-接收卡索引号,取值范围[0~254] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_VerifyFailed }
{-校验失败 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_NicReadTimeOut }
{-读数据超时 }
{-. T9E_NoNicDataReceived }
{-有数据未读出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_TooLittleBuffer }
{-分配的内存太小 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ReadRcvCardFPGA2: function(var lpBuffer: BYTE; 
          var pBufLen: LongInt; 
          cardIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ClearCCCoefData }
{-* 功能说明: }
{-清除逐点亮度校正系数 }

{-* 参数说明: }
{-无参数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ClearCCCoefData: function: T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9AddCCCoef }
{-* 功能说明: }
{-添加一张接收卡的亮度逐点校正数据 }

{-* 参数说明: }
{-. [in] rcvIndex }
{-接收卡序号,从0开始计数 }
{-. [in] lpCCCoefBuf }
{-逐点校正数据 }
{-. [in] bufLen }
{-校正数据内存长度 }

{-* 返回值说明: }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9AddCCCoef: function(rcvIndex: Word; 
          var lpCCCoefBuf: BYTE; 
          bufLen: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9WriteCCCoefToRcvCard }
{-* 功能说明: }
{-将逐点亮度校正数据存入接收卡中 }

{-* 参数说明: }
{-无参数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteCCCoefToRcvCard: function(portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9LoadRcvCCCoef }
{-* 功能说明: }
{-将卡中预存的逐点亮度校正系数载入sd ram }

{-* 参数说明: }
{-无参数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9LoadRcvCCCoef: function(portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9ClearChromaCCoefData }
{-* 功能说明: }
{-清除逐点色度校正系数 }

{-* 参数说明: }
{-无参数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ClearChromaCCoefData: function: T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9AddChromaCCoef }
{-* 功能说明: }
{-添加一张接收卡的逐点色度校正数据 }

{-* 参数说明: }
{-. [in] rcvIndex }
{-接收卡序号,从0开始计数 }
{-. [in] lpCCCoefBuf }
{-逐点校正数据 }
{-. [in] bufLen }
{-校正数据内存长度 }

{-* 返回值说明: }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9AddChromaCCoef: function(rcvIndex: Word; 
          var lpCCCoefBuf: BYTE; 
          bufLen: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9WriteChromaCCoefToRcvCard }
{-* 功能说明: }
{-将逐点色度校正数据存入接收卡中 }

{-* 参数说明: }
{-无参数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteChromaCCoefToRcvCard: function(portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9LoadRcvChromaCCoef }
{-* 功能说明: }
{-将卡中预存的逐点色度校正系数载入sd ram }

{-* 参数说明: }
{-无参数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9LoadRcvChromaCCoef: function(portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ReadRcvCardFPGA }
{-* 功能说明: }
{-从接受卡中读回FPGA程序存入指定文件中 }

{-* 参数说明: }
{-. [in] pFileName }
{-保存参数文件的路径名 }
{-. [in] cardIndex }
{-接收卡索引号,取值范围[0~254] }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_VerifyFailed }
{-校验失败 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_NicReadTimeOut }
{-读数据超时 }
{-. T9E_NoNicDataReceived }
{-有数据未读出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9E_OpenFileError }
{-打开文件出错 }
{-. T9E_InvalidFile }
{-非法文件 }
{-. T9E_ReadFileError }
{-读文件出错 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ReadRcvCardFPGA: function(pFileName: PChar; 
          cardIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9AsynWriteFunCard }
{-* 功能说明: }
{-异步写功能卡数据 }

{-* 参数说明: }
{-. [in] funCardIndex }
{-功能卡序号 }
{-. [in] pBuffer }
{-写入的数据内存地址 }
{-. [in] bufLen }
{-写入的数据长度 }
{-. [in] highAddress }
{-高位地址 }
{-. [in] lowAddress }
{-地位地址 }
{-. [in] timeOut }
{-最长允许发送的时间,单位:毫秒 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9AsynWriteFunCard: function(funCardIndex: Integer; 
          var pBuffer: BYTE; 
          bufLen: LongInt; 
          highAddress: Integer; 
          lowAddress: Integer; 
          timeOut: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9StroageErase }
{-* 功能说明: }
{-擦除接收卡上Flash存储空间里的数据 }

{-* 参数说明: }
{-. [in] rcvIndex }
{-接收卡序号 }
{-. [in] startBlock }
{-开始擦除的扇区索引号 }
{-. [in] blockCount }
{-擦除的扇区数量 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9StroageErase: function(rcvIndex: Word; 
          startBlock: Word; 
          blockCount: Word): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9StroageWritePage }
{-* 功能说明: }
{-向接收卡上Flash存储空间里写入一个page的数据 }

{-* 参数说明: }
{-. [in] rcvIndex }
{-接收卡序号 }
{-. [in] pageIndex }
{-页面序号 }
{-. [in] pBuffer }
{-指向将写入扇区的数据的起始地址 }
{-. [in] pageSize }
{-page大小 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9StroageWritePage: function(rcvIndex: Word; 
          pageIndex: LongInt; 
          var pBuffer: BYTE; 
          pageSize: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9StroageWriteSeciton }
{-* 功能说明: }
{-向接收卡上Flash存储空间里写入一个扇区的数据 }

{-* 参数说明: }
{-. [in] rcvIndex }
{-接收卡序号 }
{-. [in] sectionIndex }
{-扇区卡序号 }
{-. [in] sectionSize }
{-扇区大小 }
{-. [in] pBuffer }
{-指向将写入扇区的数据的起始地址 }
{-. [in] timeout }
{-超过timeout时间没有写完算超时 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9StroageWriteSeciton: function(rcvIndex: Word; 
          sectionIndex: LongInt; 
          sectionSize: LongInt; 
          var pBuffer: BYTE; 
          timeout: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9SendDelayPacket }
{-* 功能说明: }
{-插入一个延时数据包 }

{-* 参数说明: }
{-. [in] packetSize }
{-接收卡序号 }
{-. [in] bAsyn }
{-是否加入到队列中 }

{-* 返回值说明: }
{-. T9E_NICNotInitialized }
{-网卡没有初始化 }
{-. T9E_OutOfMemeroy }
{-内存溢出 }
{-. T9E_ParamError }
{-参数错误 }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SendDelayPacket: function(packetSize: LongInt; 
          bAsyn: Bool): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SetLineSpace }
{-* 功能说明: }
{-设置发送数据时的行间隙 }
{-* 参数说明: }
{-. [in] lineSpace }
{-行间隙点数 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
{/// T9API T9SetLineSpace(int lineSpace); }


{/// /********** }
{///* T9SetBigModuleMode }
{///* 功能说明: }
{/// 设置为大模组模式 }
{///* 参数说明: }
{/// . [in] bigModuleMode }
{/// 大模组模式:详见BigMoudule_Mode定义 }
{/// }
{///* 返回值说明: }
{/// . T9_S_OK }
{/// 成功 }
{///**********/ }
{/// T9API T9SetBigModuleMode(int bigModuleMode); }


{+//********** }
{-* T9ClearSendCache }
{-* 功能说明: }
{-清除发送缓存 }
{-* 参数说明: }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ClearSendCache: function: T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9SetScreenHollow }
{-* 功能说明: }
{-清除发送缓存 }
{-* 参数说明: }
{-. [in] scrnNumber }
{-屏幕序号 }
{-. [in] bNeedHollow }
{-是否抠屏 }
{-. [in] senderRegion }
{-抠屏区域 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetScreenHollow: function(scrnNumber: Integer; 
          bNeedHollow: Bool; 
          senderRegion: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9SendParam }
{-* 功能说明: }
{-发送实时参数到接受卡上 }
{-* 参数说明: }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SendParam: function: T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{+//********** }
{-* T9ReadModuleInfo }
{-* 功能说明: }
{-获取模组信息 }
{-* 参数说明: }
{-. [in] portIndex }
{-发送卡网口号 }
{-. [in] rcvIndex }
{-接收卡序号 }
{-. [in] moduleIndex }
{-模组序号 }
{-. [in] pBasicInfoBuf }
{-指向存储模组基本信息的内存 }
{-. [in,out] pBasicLen }
{-指定pBasicInfoBuf指向的内存长度,并返回实际使用的长度 }
{-. [in] pMaintainInfoBuf }
{-指向存储维修记录的内存 }
{-. [in,out] maintainBufLen }
{-指定pMaintainInfoBuf指向的内存长度,并返回实际使用的长度 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9ReadModuleInfo: function(portIndex: BYTE; 
          rcvIndex: Integer; 
          moduleIndex: Integer; 
          var pBasicInfoBuf: BYTE; 
          var pBasicLen: Integer; 
          var pMaintainInfoBuf: BYTE; 
          var pMaintainBufLen: Integer; 
          var pWatcher: VOID): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


{+//********** }
{-* T9WriteModuleInfo }
{-* 功能说明: }
{-获取模组信息 }
{-* 参数说明: }
{-. [in] portIndex }
{-发送卡网口号 }
{-. [in] rcvIndex }
{-接收卡序号 }
{-. [in] moduleIndex }
{-模组序号 }
{-. [in] pBasicInfoBuf }
{-指向存储模组基本信息的内存 }
{-. [in] basicLen }
{-指定pBasicInfoBuf指向的内存长度 }
{-. [in] pMaintainInfoBuf }
{-指向存储维修记录的内存 }
{-. [in] maintainBufLen }
{-指定pMaintainInfoBuf指向的内存长度 }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9WriteModuleInfo: function(portIndex: BYTE; 
          rcvIndex: Integer; 
          moduleIndex: Integer; 
          var pBasicInfoBuf: BYTE; 
          basicLen: Integer; 
          var pMaintainInfoBuf: BYTE; 
          maintainBufLen: Integer; 
          var pWatcher: VOID): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


var
  T9SetBlockFlags: function(blockFlags: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9ClearFlashSector: function(portIndex: Word; 
          rcvIndex: Word; 
          hAddress: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9ClearFlashSector4KB: function(portIndex: Word; 
          rcvIndex: Word; 
          hAddress: BYTE; 
          lAddress: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9Write256BytesToFlash: function(portIndex: Word; 
          rcvIndex: Word; 
          hAddress: BYTE; 
          lAddress: BYTE; 
          var lpBuf: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9ReadPixelDetectInfo: function(portIndex: Word; 
          rcvIndex: Word; 
          dataIndex: BYTE; 
          scanIndex: BYTE; 
          openOrBroken: BYTE; 
          startPos: Word; 
          dataLen: Word; 
          var lpBuf: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 



{+//********** }
{-* T9SetSendingCardTypeVersion }
{-* 功能说明: }
{-设置发送卡的版本号 }
{-* 参数说明: }

{-* 返回值说明: }
{-. T9_S_OK }
{-成功 }
{=********** }
var
  T9SetSendingCardTypeVersion: function(type: Integer; 
          majorVersion: Integer; 
          minorVersion: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

var
  T9EnableCorrect: function(bEnable: Bool; 
          rcvIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9EnableChromaCorrect: function(bEnable: Bool; 
          rcvIndex: Word; 
          portIndex: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

{///读写发送卡Flash }
var
  T9ReadSendingFlash: function(startAddress: LongInt; 
          var pBuffer: BYTE; 
          bufLen: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9WriteSendingFlash: function(startAddress: LongInt; 
          var pBuffer: BYTE; 
          bufLen: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9WriteSendingFlash4kBStyle: function(startAddress: LongInt; 
          var pBuffer: BYTE; 
          bufLen: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9ClearSendingFlash4kB: function(startAddress: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9ClearSendingFlash64kB: function(startAddress: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9AtomicWriteSending256Bytes: function(startAddress: LongInt; 
          var pBuffer: BYTE): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9SendSendingCmd: function(var pCmdBuf: BYTE; 
          bufLen: LongInt): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9SendSendingCmdEx: function(var pCmdBuf: BYTE; 
          bufLen: LongInt; 
          var pBufOut: BYTE; 
          var pOutLen: LongInt; 
          firstReadTime: Integer; 
          timeout: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 

var
  T9SetRectSignal: function(x: Integer; 
          y: Integer; 
          width: Integer; 
          height: Integer): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 
var
  T9SetSendingCardGama: function(scIndex: BYTE; 
          bSave: Bool; 
          gama: Single): T9API cdecl  {$IFDEF WIN32} stdcall {$ENDIF}; 


var
  DLLLoaded: Boolean { is DLL (dynamically) loaded already? }
    {$IFDEF WIN32} = False; {$ENDIF}

implementation

var
  SaveExit: pointer;
  DLLHandle: THandle;
{$IFNDEF MSDOS}
  ErrorMode: Integer;
{$ENDIF}

  procedure NewExit; far;
  begin
    ExitProc := SaveExit;
    FreeLibrary(DLLHandle)
  end {NewExit};

procedure LoadDLL;
begin
  if DLLLoaded then Exit;
{$IFNDEF MSDOS}
  ErrorMode := SetErrorMode($8000{SEM_NoOpenFileErrorBox});
{$ENDIF}
  DLLHandle := LoadLibrary('T9SENDAPI.DLL');
  if DLLHandle >= 32 then
  begin
    DLLLoaded := True;
    SaveExit := ExitProc;
    ExitProc := @NewExit;
    @T9GetNetAdapterCount := GetProcAddress(DLLHandle,'T9GetNetAdapterCount');
  {$IFDEF WIN32}
    Assert(@T9GetNetAdapterCount <> nil);
  {$ENDIF}
    @T9GetNetAdapterInfo := GetProcAddress(DLLHandle,'T9GetNetAdapterInfo');
  {$IFDEF WIN32}
    Assert(@T9GetNetAdapterInfo <> nil);
  {$ENDIF}
    @T9CreateScreen := GetProcAddress(DLLHandle,'T9CreateScreen');
  {$IFDEF WIN32}
    Assert(@T9CreateScreen <> nil);
  {$ENDIF}
    @T9DestroyScreen := GetProcAddress(DLLHandle,'T9DestroyScreen');
  {$IFDEF WIN32}
    Assert(@T9DestroyScreen <> nil);
  {$ENDIF}
    @T9DestroyAllScreen := GetProcAddress(DLLHandle,'T9DestroyAllScreen');
  {$IFDEF WIN32}
    Assert(@T9DestroyAllScreen <> nil);
  {$ENDIF}
    @T9GetScreenInfo := GetProcAddress(DLLHandle,'T9GetScreenInfo');
  {$IFDEF WIN32}
    Assert(@T9GetScreenInfo <> nil);
  {$ENDIF}
    @T9GetScreenCount := GetProcAddress(DLLHandle,'T9GetScreenCount');
  {$IFDEF WIN32}
    Assert(@T9GetScreenCount <> nil);
  {$ENDIF}
    @T9GetScreenNumber := GetProcAddress(DLLHandle,'T9GetScreenNumber');
  {$IFDEF WIN32}
    Assert(@T9GetScreenNumber <> nil);
  {$ENDIF}
    @T9SetScreenVirtualType := GetProcAddress(DLLHandle,'T9SetScreenVirtualType');
  {$IFDEF WIN32}
    Assert(@T9SetScreenVirtualType <> nil);
  {$ENDIF}
    @T9SetScreenConnectionStyle := GetProcAddress(DLLHandle,'T9SetScreenConnectionStyle');
  {$IFDEF WIN32}
    Assert(@T9SetScreenConnectionStyle <> nil);
  {$ENDIF}
    @T9SenderStart := GetProcAddress(DLLHandle,'T9SenderStart');
  {$IFDEF WIN32}
    Assert(@T9SenderStart <> nil);
  {$ENDIF}
    @T9SenderStop := GetProcAddress(DLLHandle,'T9SenderStop');
  {$IFDEF WIN32}
    Assert(@T9SenderStop <> nil);
  {$ENDIF}
    @T9IsSenderRunning := GetProcAddress(DLLHandle,'T9IsSenderRunning');
  {$IFDEF WIN32}
    Assert(@T9IsSenderRunning <> nil);
  {$ENDIF}
    @T9SetBirghtness := GetProcAddress(DLLHandle,'T9SetBirghtness');
  {$IFDEF WIN32}
    Assert(@T9SetBirghtness <> nil);
  {$ENDIF}
    @T9SetIsUseRcvParam := GetProcAddress(DLLHandle,'T9SetIsUseRcvParam');
  {$IFDEF WIN32}
    Assert(@T9SetIsUseRcvParam <> nil);
  {$ENDIF}
    @T9SetPcRealTimeParam := GetProcAddress(DLLHandle,'T9SetPcRealTimeParam');
  {$IFDEF WIN32}
    Assert(@T9SetPcRealTimeParam <> nil);
  {$ENDIF}
    @T9SetSendParamScreenNumber := GetProcAddress(DLLHandle,'T9SetSendParamScreenNumber');
  {$IFDEF WIN32}
    Assert(@T9SetSendParamScreenNumber <> nil);
  {$ENDIF}
    @T9SendControlPack := GetProcAddress(DLLHandle,'T9SendControlPack');
  {$IFDEF WIN32}
    Assert(@T9SendControlPack <> nil);
  {$ENDIF}
    @T9Ctrl_DetectRcvCardEx := GetProcAddress(DLLHandle,'T9Ctrl_DetectRcvCardEx');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_DetectRcvCardEx <> nil);
  {$ENDIF}
    @T9Ctrl_DetectRcvCardEx2 := GetProcAddress(DLLHandle,'T9Ctrl_DetectRcvCardEx2');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_DetectRcvCardEx2 <> nil);
  {$ENDIF}
    @T9Ctrl_DetectRcvCardEx3 := GetProcAddress(DLLHandle,'T9Ctrl_DetectRcvCardEx3');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_DetectRcvCardEx3 <> nil);
  {$ENDIF}
    @T9Ctrl_DetectRcvCard := GetProcAddress(DLLHandle,'T9Ctrl_DetectRcvCard');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_DetectRcvCard <> nil);
  {$ENDIF}
    @T9ClearMackPacketCount := GetProcAddress(DLLHandle,'T9ClearMackPacketCount');
  {$IFDEF WIN32}
    Assert(@T9ClearMackPacketCount <> nil);
  {$ENDIF}
    @T9Ctrl_DetectFunCard := GetProcAddress(DLLHandle,'T9Ctrl_DetectFunCard');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_DetectFunCard <> nil);
  {$ENDIF}
    @T9Ctrl_DetectFunCardEx := GetProcAddress(DLLHandle,'T9Ctrl_DetectFunCardEx');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_DetectFunCardEx <> nil);
  {$ENDIF}
    @T9Ctrl_5036PixelCheck := GetProcAddress(DLLHandle,'T9Ctrl_5036PixelCheck');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_5036PixelCheck <> nil);
  {$ENDIF}
    @T9Ctrl_ExecFunPower := GetProcAddress(DLLHandle,'T9Ctrl_ExecFunPower');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_ExecFunPower <> nil);
  {$ENDIF}
    @T9Ctrl_ReqParamAndVer := GetProcAddress(DLLHandle,'T9Ctrl_ReqParamAndVer');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_ReqParamAndVer <> nil);
  {$ENDIF}
    @T9Ctrl_FunCard_FlashOperation := GetProcAddress(DLLHandle,'T9Ctrl_FunCard_FlashOperation');
  {$IFDEF WIN32}
    Assert(@T9Ctrl_FunCard_FlashOperation <> nil);
  {$ENDIF}
    @T9SendScreenPicture := GetProcAddress(DLLHandle,'T9SendScreenPicture');
  {$IFDEF WIN32}
    Assert(@T9SendScreenPicture <> nil);
  {$ENDIF}
    @T9SendScreenCorrectCoef := GetProcAddress(DLLHandle,'T9SendScreenCorrectCoef');
  {$IFDEF WIN32}
    Assert(@T9SendScreenCorrectCoef <> nil);
  {$ENDIF}
    @T9SendScreenBlackPicture := GetProcAddress(DLLHandle,'T9SendScreenBlackPicture');
  {$IFDEF WIN32}
    Assert(@T9SendScreenBlackPicture <> nil);
  {$ENDIF}
    @T9SetCallBackFun := GetProcAddress(DLLHandle,'T9SetCallBackFun');
  {$IFDEF WIN32}
    Assert(@T9SetCallBackFun <> nil);
  {$ENDIF}
    @T9WriteHWParamToRcvCard := GetProcAddress(DLLHandle,'T9WriteHWParamToRcvCard');
  {$IFDEF WIN32}
    Assert(@T9WriteHWParamToRcvCard <> nil);
  {$ENDIF}
    @T9WriteControlAreaToRcvCard := GetProcAddress(DLLHandle,'T9WriteControlAreaToRcvCard');
  {$IFDEF WIN32}
    Assert(@T9WriteControlAreaToRcvCard <> nil);
  {$ENDIF}
    @T9WriteHWParamToModule := GetProcAddress(DLLHandle,'T9WriteHWParamToModule');
  {$IFDEF WIN32}
    Assert(@T9WriteHWParamToModule <> nil);
  {$ENDIF}
    @T9WriteHWParamToFunCard := GetProcAddress(DLLHandle,'T9WriteHWParamToFunCard');
  {$IFDEF WIN32}
    Assert(@T9WriteHWParamToFunCard <> nil);
  {$ENDIF}
    @T9ReadHWParamToFile := GetProcAddress(DLLHandle,'T9ReadHWParamToFile');
  {$IFDEF WIN32}
    Assert(@T9ReadHWParamToFile <> nil);
  {$ENDIF}
    @T9ReadHWParamToBuffer := GetProcAddress(DLLHandle,'T9ReadHWParamToBuffer');
  {$IFDEF WIN32}
    Assert(@T9ReadHWParamToBuffer <> nil);
  {$ENDIF}
    @T9ReadFlashToBuffer := GetProcAddress(DLLHandle,'T9ReadFlashToBuffer');
  {$IFDEF WIN32}
    Assert(@T9ReadFlashToBuffer <> nil);
  {$ENDIF}
    @T9UpgradeRcvCardFPGA2 := GetProcAddress(DLLHandle,'T9UpgradeRcvCardFPGA2');
  {$IFDEF WIN32}
    Assert(@T9UpgradeRcvCardFPGA2 <> nil);
  {$ENDIF}
    @T9ReadRcvCardFPGA2 := GetProcAddress(DLLHandle,'T9ReadRcvCardFPGA2');
  {$IFDEF WIN32}
    Assert(@T9ReadRcvCardFPGA2 <> nil);
  {$ENDIF}
    @T9ClearCCCoefData := GetProcAddress(DLLHandle,'T9ClearCCCoefData');
  {$IFDEF WIN32}
    Assert(@T9ClearCCCoefData <> nil);
  {$ENDIF}
    @T9AddCCCoef := GetProcAddress(DLLHandle,'T9AddCCCoef');
  {$IFDEF WIN32}
    Assert(@T9AddCCCoef <> nil);
  {$ENDIF}
    @T9WriteCCCoefToRcvCard := GetProcAddress(DLLHandle,'T9WriteCCCoefToRcvCard');
  {$IFDEF WIN32}
    Assert(@T9WriteCCCoefToRcvCard <> nil);
  {$ENDIF}
    @T9LoadRcvCCCoef := GetProcAddress(DLLHandle,'T9LoadRcvCCCoef');
  {$IFDEF WIN32}
    Assert(@T9LoadRcvCCCoef <> nil);
  {$ENDIF}
    @T9ClearChromaCCoefData := GetProcAddress(DLLHandle,'T9ClearChromaCCoefData');
  {$IFDEF WIN32}
    Assert(@T9ClearChromaCCoefData <> nil);
  {$ENDIF}
    @T9AddChromaCCoef := GetProcAddress(DLLHandle,'T9AddChromaCCoef');
  {$IFDEF WIN32}
    Assert(@T9AddChromaCCoef <> nil);
  {$ENDIF}
    @T9WriteChromaCCoefToRcvCard := GetProcAddress(DLLHandle,'T9WriteChromaCCoefToRcvCard');
  {$IFDEF WIN32}
    Assert(@T9WriteChromaCCoefToRcvCard <> nil);
  {$ENDIF}
    @T9LoadRcvChromaCCoef := GetProcAddress(DLLHandle,'T9LoadRcvChromaCCoef');
  {$IFDEF WIN32}
    Assert(@T9LoadRcvChromaCCoef <> nil);
  {$ENDIF}
    @T9ReadRcvCardFPGA := GetProcAddress(DLLHandle,'T9ReadRcvCardFPGA');
  {$IFDEF WIN32}
    Assert(@T9ReadRcvCardFPGA <> nil);
  {$ENDIF}
    @T9AsynWriteFunCard := GetProcAddress(DLLHandle,'T9AsynWriteFunCard');
  {$IFDEF WIN32}
    Assert(@T9AsynWriteFunCard <> nil);
  {$ENDIF}
    @T9StroageErase := GetProcAddress(DLLHandle,'T9StroageErase');
  {$IFDEF WIN32}
    Assert(@T9StroageErase <> nil);
  {$ENDIF}
    @T9StroageWritePage := GetProcAddress(DLLHandle,'T9StroageWritePage');
  {$IFDEF WIN32}
    Assert(@T9StroageWritePage <> nil);
  {$ENDIF}
    @T9StroageWriteSeciton := GetProcAddress(DLLHandle,'T9StroageWriteSeciton');
  {$IFDEF WIN32}
    Assert(@T9StroageWriteSeciton <> nil);
  {$ENDIF}
    @T9SendDelayPacket := GetProcAddress(DLLHandle,'T9SendDelayPacket');
  {$IFDEF WIN32}
    Assert(@T9SendDelayPacket <> nil);
  {$ENDIF}
    @T9ClearSendCache := GetProcAddress(DLLHandle,'T9ClearSendCache');
  {$IFDEF WIN32}
    Assert(@T9ClearSendCache <> nil);
  {$ENDIF}
    @T9SetScreenHollow := GetProcAddress(DLLHandle,'T9SetScreenHollow');
  {$IFDEF WIN32}
    Assert(@T9SetScreenHollow <> nil);
  {$ENDIF}
    @T9SendParam := GetProcAddress(DLLHandle,'T9SendParam');
  {$IFDEF WIN32}
    Assert(@T9SendParam <> nil);
  {$ENDIF}
    @T9ReadModuleInfo := GetProcAddress(DLLHandle,'T9ReadModuleInfo');
  {$IFDEF WIN32}
    Assert(@T9ReadModuleInfo <> nil);
  {$ENDIF}
    @T9WriteModuleInfo := GetProcAddress(DLLHandle,'T9WriteModuleInfo');
  {$IFDEF WIN32}
    Assert(@T9WriteModuleInfo <> nil);
  {$ENDIF}
    @T9SetBlockFlags := GetProcAddress(DLLHandle,'T9SetBlockFlags');
  {$IFDEF WIN32}
    Assert(@T9SetBlockFlags <> nil);
  {$ENDIF}
    @T9ClearFlashSector := GetProcAddress(DLLHandle,'T9ClearFlashSector');
  {$IFDEF WIN32}
    Assert(@T9ClearFlashSector <> nil);
  {$ENDIF}
    @T9ClearFlashSector4KB := GetProcAddress(DLLHandle,'T9ClearFlashSector4KB');
  {$IFDEF WIN32}
    Assert(@T9ClearFlashSector4KB <> nil);
  {$ENDIF}
    @T9Write256BytesToFlash := GetProcAddress(DLLHandle,'T9Write256BytesToFlash');
  {$IFDEF WIN32}
    Assert(@T9Write256BytesToFlash <> nil);
  {$ENDIF}
    @T9ReadPixelDetectInfo := GetProcAddress(DLLHandle,'T9ReadPixelDetectInfo');
  {$IFDEF WIN32}
    Assert(@T9ReadPixelDetectInfo <> nil);
  {$ENDIF}
    @T9SetSendingCardTypeVersion := GetProcAddress(DLLHandle,'T9SetSendingCardTypeVersion');
  {$IFDEF WIN32}
    Assert(@T9SetSendingCardTypeVersion <> nil);
  {$ENDIF}
    @T9EnableCorrect := GetProcAddress(DLLHandle,'T9EnableCorrect');
  {$IFDEF WIN32}
    Assert(@T9EnableCorrect <> nil);
  {$ENDIF}
    @T9EnableChromaCorrect := GetProcAddress(DLLHandle,'T9EnableChromaCorrect');
  {$IFDEF WIN32}
    Assert(@T9EnableChromaCorrect <> nil);
  {$ENDIF}
    @T9ReadSendingFlash := GetProcAddress(DLLHandle,'T9ReadSendingFlash');
  {$IFDEF WIN32}
    Assert(@T9ReadSendingFlash <> nil);
  {$ENDIF}
    @T9WriteSendingFlash := GetProcAddress(DLLHandle,'T9WriteSendingFlash');
  {$IFDEF WIN32}
    Assert(@T9WriteSendingFlash <> nil);
  {$ENDIF}
    @T9WriteSendingFlash4kBStyle := GetProcAddress(DLLHandle,'T9WriteSendingFlash4kBStyle');
  {$IFDEF WIN32}
    Assert(@T9WriteSendingFlash4kBStyle <> nil);
  {$ENDIF}
    @T9ClearSendingFlash4kB := GetProcAddress(DLLHandle,'T9ClearSendingFlash4kB');
  {$IFDEF WIN32}
    Assert(@T9ClearSendingFlash4kB <> nil);
  {$ENDIF}
    @T9ClearSendingFlash64kB := GetProcAddress(DLLHandle,'T9ClearSendingFlash64kB');
  {$IFDEF WIN32}
    Assert(@T9ClearSendingFlash64kB <> nil);
  {$ENDIF}
    @T9AtomicWriteSending256Bytes := GetProcAddress(DLLHandle,'T9AtomicWriteSending256Bytes');
  {$IFDEF WIN32}
    Assert(@T9AtomicWriteSending256Bytes <> nil);
  {$ENDIF}
    @T9SendSendingCmd := GetProcAddress(DLLHandle,'T9SendSendingCmd');
  {$IFDEF WIN32}
    Assert(@T9SendSendingCmd <> nil);
  {$ENDIF}
    @T9SendSendingCmdEx := GetProcAddress(DLLHandle,'T9SendSendingCmdEx');
  {$IFDEF WIN32}
    Assert(@T9SendSendingCmdEx <> nil);
  {$ENDIF}
    @T9SetRectSignal := GetProcAddress(DLLHandle,'T9SetRectSignal');
  {$IFDEF WIN32}
    Assert(@T9SetRectSignal <> nil);
  {$ENDIF}
    @T9SetSendingCardGama := GetProcAddress(DLLHandle,'T9SetSendingCardGama');
  {$IFDEF WIN32}
    Assert(@T9SetSendingCardGama <> nil);
  {$ENDIF}
  end
  else
  begin
    DLLLoaded := False;
    { Error: T9SENDAPI.DLL could not be loaded !! }
  end;
{$IFNDEF MSDOS}
  SetErrorMode(ErrorMode)
{$ENDIF}
end {LoadDLL};

begin
  LoadDLL;
end.
----------------------------------------------
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2018/7/13 23:42:45
3楼: 在这里居然见到了SetErrorMode,这人有点水平。。。。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2018/7/13 23:43:22
4楼: 这文件实在太长了,有好多翻译工具,挨个试试吧。。。。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2018/7/14 8:24:10
6楼: 楼上:其实文件倒是不长,主要是注释太多。按照楼上的提示百度搜到了几个C/C++头文件翻译工具:
1、专门将C/C++/BCB 源文件转换成Object Pascal (Delphi/Kylix) 的免费开源工具
http://c2pas.sourceforge.net/
2、艺博龙官网的C转Pascal
http://cc.embarcadero.com/Item/26951
3、H头文件转Delphi
http://www.pudn.com/Download/item/id/2566667.html
https://www.freepascal.org/docs-html/user/userse40.html#x139-1460008.4
4、HeadConv是一个专门将C语言的头文件转换成pas的免费开源工具
http://www.drbob42.com/tools/index.htm
----------------------------------------------
作者:
男 glwang (glwang) ★☆☆☆☆ -
盒子活跃会员
2018/7/14 15:41:03
7楼: 2、艺博龙官网的C to Pascal Converter
http://cc.embarcadero.com/Author/302259
----------------------------------------------
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行218.75毫秒 RSS