动态链接库由松下提供(产品HL-C2)
建立工程HL-C2,在工程文件夹中加入动态链接库文件HLC2_DLL.h,HLC2_DLL.lib
资源管理器中添加文件HLC2_DLL.h,HLC2_DLL.lib
属性页中添加HLC2_DLL.lib
编写文件HL-C2.h
#pragma once
#include "HLC2_DLL.h"
#pragma comment(lib,"HLC2_DLL.lib")
编写文件HL-C2.cpp
// HL-C2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include "HL-C2.h"
#define HEADA 0
#define OUT1 0
#define IO_OUT 1
#define MEMINI_1 1
#define BCC_OFF 0
#define LASERON 0
#define LASEROFF 1
DWORD dwLaser;
double dMeasureValue;
BOOL HLC2_Get_Measure_Data(void);
int main()
{
bool result;
result = HLC2_Get_Measure_Data();
if (result == TRUE)
{
printf("result is TRUE \n");
printf("result is %d", dMeasureValue);
}
else if (result == FALSE)
{
printf("result is FALSE \n");
}
else
{
}
}
BOOL HLC2_Get_Measure_Data(void)
{
DWORD ret;
DWORD dwCount;
HLC2_HANDLE hlc2Handle;
ret = HLC2_GetCount(&dwCount);
if (dwCount != 1) {
return FALSE;
}
ret = HLC2_OpenByIndex(dwCount - 1, &hlc2Handle);
if (ret != HLC2_OK) {
return FALSE;
}
ret = HLC2_Init(hlc2Handle);
if (ret != HLC2_OK) {
return FALSE;
}
dwLaser = LASERON;
ret = HLC2_HeadLaserOff(hlc2Handle, HEADA, IO_OUT, &dwLaser, BCC_OFF);
if (ret != HLC2_OK) {
return FALSE;
}
ret = HLC2_GetMeasureValue(hlc2Handle, OUT1, &dMeasureValue, BCC_OFF);
if (ret != HLC2_OK) {
return FALSE;
}
dwLaser = LASEROFF;
ret = HLC2_HeadLaserOff(hlc2Handle, HEADA, IO_OUT, &dwLaser, BCC_OFF);
if (ret != HLC2_OK) {
return FALSE;
}
HLC2_Close(hlc2Handle);
if (ret != HLC2_OK) {
return FALSE;
}
return TRUE;
}
调试输出如下结果
动态链接库被隐式引用并且输出测量位移值