1. 概述
MarkEzd.dll 是金橙子提供给用户用于ezcad2和lmc1控制卡二次开发的动态连接库。
MarkEzdDll.h是MarkEzd.dll中输出的函数的头文件。
用户可以使用VC6.0来进行开发。
MarkEzd.dll动态链接库函数的调用方法为显示调用,显式调用方法需要调用Windows API函数加载和释放动态链接库。
显式调用方法如下:
1.调用Windows API函数LoadLibrary()动态加载DLL;
2.调用Windows API函数GetProcAddress()取得将要调用的DLL中函数的指针;用函数指针调用DLL中函数完成相应功能;
3.在程序结束时或不再使用DLL中函数时,调用Windows API函数FreeLibrary()释放动态链接库。
注意:调用MarkEzd.dll的程序必须放在同一个目录下,否则MarkEzd.dll将无法正常工作;而且在运行的时候MarkEzd.dll将无法正常使用,所以在使用MarkEzd.dll时必须关闭。
2.函数说明
在MarkEzd.dll中所有函数(个别函数除外)返回值均为一个整形的通用错误码
通用错误码定义如下:
字符串函数的头文件#define LMC1_ERR_SUCCESS        0  //成功
#define LMC1_ERR_EZCADRUN        1  //发现EZCAD在运行
#define LMC1_ERR_NOFINDCFGFILE  2  //不到EZCAD.CFG
#define LMC1_ERR_FAILEDOPEN      3  //打开LMC1失败
#define LMC1_ERR_NODEVICE        4  //没有有效的lmc1设备
#define LMC1_ERR_HARDVER        5  //lmc1版本错误
#define LMC1_ERR_DEVCFG          6  //不到设备配置文件
#define LMC1_ERR_STOPSIGNAL      7  //报警信号
#define LMC1_ERR_USERSTOP        8  //用户停止
#define LMC1_ERR_UNKNOW        9  //不明错误
#define LMC1_ERR_OUTTIME        10 //超时
#define LMC1_ERR_NOINITIAL      11 //未初始化
#define LMC1_ERR_READFILE        12 //读文件错误
#define LMC1_ERR_OWENWNDNULL    13 //窗口为空
#define LMC1_ERR_NOFINDFONT      14 //不到指定名称的字体
#define LMC1_ERR_PENNO          15 //错误的笔号
#define LMC1_ERR_NOTTEXT        16 //指定名称的对象不是文本对象
#define LMC1_ERR_SAVEFILE        17 //保存文件失败
#define LMC1_ERR_NOFINDENT          18 //不到指定对象
#define LMC1_ERR_STATUE        19 //当前状态下不能执行此操作
函 数 名:lmc1_Initial
目    的:初始化lmc1控制卡。
语    法:int lmc1_Initial(TCHAR* strEzCadPath,BOOL bTestMode,HWND hOwenWnd);
            strEzCadPath是所处的目录的全路径名称;
            bTestMode  指是否是测试模式
            hOwenWnd 指拥有用户输入焦点的窗口,用于检测用户暂停消息。
描    述:在程序中必须首先调用lmc1_Initial,其它函数才能工作。
返 回 值:通用错误码
函 数 名:lmc1_Close
目    的:关闭lmc1控制卡。
语    法:int lmc1_Close();
描    述:在程序中退出时必须调用lmc1_Close来关闭lmc1控制卡。
返 回 值:通用错误码
函 数 名:lmc1_LoadEzdFile
目    的:打开指定的ezd文件,并清除当前数据库中的所有对象。
语    法:int lmc1_LoadEzdFile(TCHAR* strFileName);
描    述:在程序中一般用此函数来打开一个用户建立ezd模板文件,这样用户就不需要在程序中设置加工参数,因为模板中的加工参数会自动导入。
返 回 值:通用错误码
函 数 名:lmc1_Mark
目    的:标刻当前数据库里的所有数据。
语    法:int lmc1_Mark(BOOL bFlyMark);
            bFlyMark= TRUE 使能飞动打标
描    述:在使用lmc1_LoadEzdFile载入ezd文件后即可以使用此函数开始打标加工,此函数一直等待设备加工完毕后才返回。
返 回 值:通用错误码
函 数 名:lmc1_ChangeTextByName
目    的:更改指定名称的文本对象的文本内容。
语    法:int lmc1_ChangeTextByName(TCHAR* strTextName, TCHAR* strTextNew);
strTextName    要更改内容的文本对象的名称
strTextNew      新的文本内容
描    述:在使用lmc1_LoadEzdFile载入ezd文件后,在每次加工前即可以使用此函数更改指定对象的内容。
返 回 值通用错误码
函 数 名:lmc1_MarkEntity
目    的:标刻当前数据库里的指定名称的对象。
语    法:int lmc1_MarkEntity(TCHAR* strEntName);
描    述:在使用lmc1_LoadEzdFile载入ezd文件后即可以使用此函数开始加工指定名称的对
象,此函数一直等待设备加工完毕后才返回。
返 回 值:通用错误码
函 数 名:lmc1_ReadPort
目    的:读lmc1的输入端口。
语    法:int lmc1_ReadPort(WORD& data);
            data 输入端口的数据
描    述:在程序中调用lmc1_ReadPort来读入当前输入端口的数据。
返 回 值:通用错误码
函 数 名:lmc1_WritePort
目    的:写lmc1的输出端口。
语    法:int lmc1_WritePort(WORD& data);
            data 输出端口的数据
描    述:在程序中调用lmc1_WritePort来输出数据到当前输出端口。
返 回 值:通用错误码
函 数 名:lmc1_GetPrevBitmap
目    的:得到当前数据库里的所有对象的预览图像。
语  法:HBITMAP lmc1_GetPrevBitmap(HWND hwnd,int nBMPWIDTH,int nBMPHEIGHT);
            hwnd需要显示当前图像的窗口句柄
            nBMPWIDTH 需要生成的图像的像素宽度
            nBMPHEIGHT需要生成的图像的像素高度
描    述:在程序中调用lmc1_GetPrevBitmap得到当前数据库里的所有对象的预览图像,可
以用于更新界面显示。
返 回 值:如果成功会返回图像句柄,返回值为空表示失败
函 数 名:lmc1_SetDevCfg
目    的:设置设备参数
语    法:int lmc1_SetDevCfg();
描    述:调用lmc1_SetDevCfg会自动弹出设备参数设置对话框,用户可以设置设备参数。
返 回 值:通用错误码
函 数 名:lmc1_SetHatchParam
目    的:设置当前填充参数。
语    法:int lmc1_SetHatchParam(BOOL  bEnableContour,//使能轮廓本身
                      int    bEnableHatch1,//使能填充1
                      int    nPenNo1,//填充笔   
                      int    nHatchAttrib1,//填充属性
                      double dHatchEdgeDist1,//填充线边距
                      double dHatchLineDist1,//填充线间距
                      double dHatchStartOffset1,//填充线起始偏移距离
                      double dHatchEndOffset1,//填充线结束偏移距离
                      double dHatchAngle1,//填充线角度    (弧度值)
                      int    bEnableHatch2,//使能填充1
                      int    nPenNo2,//填充笔   
                      int    nHatchAttrib2,//填充属性
                      double dHatchEdgeDist2,//填充线边距
                      double dHatchLineDist2,//填充线间距
                      double dHatchStartOffset2,//填充线起始偏移距离
                      double dHatchEndOffset2,//填充线结束偏移距离
                      double dHatchAngle2);//填充线角度    (弧度值)   
);           
bEnableContour 是否使能轮廓
bEnableHatch1  使能填充
nPenNo1      填充笔号
nHatchAttrib1  填充属性,填充属性由下面几个属性相或组合
const int HATCHATTRIB_ALLCALC = 0x01;//全部对象作为整体一起计算
const int HATCHATTRIB_BIDIR  = 0x08;//双向填充
const int HATCHATTRIB_EDGE    = 0x02;//走一次边

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。