📄 rtdxint.cpp
字号:
// rtdxint.cpp : Defines the entry point for the console application.
//
#import "rtdxint.dll"
#include "stdafx.h"
#include "rtdxint.h"
#include <iostream.h>
using namespace RTDXINTLib;
int main(int argc, char* argv[])
{
IRtdxExpPtr rtdx; // holds pointer to IRtdxExp interface
short data; // holds data received from target application
long status; // holds status of RTDX COM API calls
HRESULT hr; // holds status of generic COM API calls
// initialize COM
::CoInitialize( NULL );
// instantiate the RTDX COM Object
hr = rtdx.CreateInstance( L"RTDX" );
cout.setf( ios::showbase );
if ( FAILED(hr) ) {
cerr << hex << hr << " - Error: Instantiation failed! \n";
return -1;
}
// open a channel (ochan) for reading data
status = rtdx->Open( "ochan", "R" );
if ( status /*!= Success*/ ) {
cerr << hex << status \
<< " - Error: Opening of channel \"ochan\" failed! \n";
return -1;
}
// loop until we have read all of our messages
do {
// read a message
status = rtdx->ReadI2( &data );
// test status returned from ReadI2
switch ( status ) {
case Success:
// display data
cout << data << "\n";
break;
case Failure:
cerr << hex << status \
<< " - Error: ReadI2 returned failure! \n";
return -1;
case ENoDataAvailable:
cout << "\n\nNo Data is currently available!\n";
cout << "\n\nWould you like to continue reading [y or n]?\n";
char option;
cin >> option;
if ( (option == 'y') || (option == 'Y') )
break;
else
return -1;
case EEndOfLogFile:
cout << "\n\nData Processing Complete!\n";
break;
default:
cerr << hex << status \
<< " - Error: Unknown return code! \n";
return -1;
}
} while ( status != EEndOfLogFile );
// close the channel
status = rtdx->Close();
// release the RTDX COM Object
rtdx.Release();
// unitialize COM
::CoUninitialize();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -