如题,代码如下,在进行232串口通信的时候,出现异常,中断在了oledisp2.cpp文件的vtRet != VT_EMPTY
求指教! ULONG dwBytesRead = 0;
BYTE szBuffer[ 10240 ];
const int nBufLen = sizeof( szBuffer ) - 1;
int nRead = 0;
CString StrTmp = "";
VARIANT m_input1; m_input1=m_PADCommPort.get_Input();
dwBytesRead = m_input1.parray->rgsabound->cElements;
//////////////////////////////////////////////////////////////////////////
int RealDataIdx = 0;
for ( long i = 0; i < (long)dwBytesRead; i++ )
{
BYTE BTmp;
::SafeArrayGetElement( m_input1.parray, &i, &BTmp );
if ( BTmp != 0x00 )
{
szBuffer[RealDataIdx++] = BTmp;
}
}
::VariantClear(&m_input1);
//////////////////////////////////////////////////////////////////////////
szBuffer[RealDataIdx] = '\0';
StrTmp.Format( "%s", szBuffer );
求指教! ULONG dwBytesRead = 0;
BYTE szBuffer[ 10240 ];
const int nBufLen = sizeof( szBuffer ) - 1;
int nRead = 0;
CString StrTmp = "";
VARIANT m_input1; m_input1=m_PADCommPort.get_Input();
dwBytesRead = m_input1.parray->rgsabound->cElements;
//////////////////////////////////////////////////////////////////////////
int RealDataIdx = 0;
for ( long i = 0; i < (long)dwBytesRead; i++ )
{
BYTE BTmp;
::SafeArrayGetElement( m_input1.parray, &i, &BTmp );
if ( BTmp != 0x00 )
{
szBuffer[RealDataIdx++] = BTmp;
}
}
::VariantClear(&m_input1);
//////////////////////////////////////////////////////////////////////////
szBuffer[RealDataIdx] = '\0';
StrTmp.Format( "%s", szBuffer );
解决方案 »
- mfc 新手求助(点击不同按钮显示不同界面)急!
- [探讨贴]画图软件 点击线条实现被选中功能实现方法
- 大家给点意见,这话我该怎么说?
- 请问如何实现删除特定目录下的特定文件?(100分)
- 如何用directshow提取avi文件中的声音数据存为wav文件,急~1
- 有没有像msn的聊天窗口中,发送button在edit控件里面的代码例子?
- 让ListView强制刷新的函数是什么?
- 怎样使打印内容的尺寸适用于不同的打印机
- 开始一个新线程为什么要用_beginThreadex()?而不用AfxBeginThread(),区别何在?
- 编写和调用资源DLL
- 怎么改变TrackBar/SliderBar的颜色?
- Debug Assertion Failed:(求助)
{
....
}
m_strRXData=" ";
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2)
{
variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_strRXData+=strtemp;
}