写在OnInitDialog()里面
m_Comm.SetCommPort(1);
m_Comm.SetInBufferSize(1024);
m_Comm.SetOutBufferSize(512); if(!m_Comm.GetPortOpen())
{
m_Comm.SetPortOpen(TRUE);
} m_Comm.SetInputMode(0); //该成1也试过。一样不行
m_Comm.SetSettings("9600,n,8,1");
m_Comm.SetRThreshold(1);
m_Comm.SetInputLen(0);
int i,Count;
CString m_SendData;
m_SendData="Hello!"; COleVariant temp; Count=m_SendData.GetLength();
CByteArray m_Array;
m_Array.RemoveAll();
m_Array.SetSize(Count);
for(i=0;i<Count;i++)
m_Array.SetAt(i,m_SendData[i]);
temp=COleVariant(m_Array); //主要就错在这。调试时看数据变化temp是红色的???。
MessageBox("aaa");
m_Comm.SetOutput(temp);
请问我出错在哪?各位大侠帮忙支招,困扰我很久了。谢谢谢谢~
m_Comm.SetCommPort(1);
m_Comm.SetInBufferSize(1024);
m_Comm.SetOutBufferSize(512); if(!m_Comm.GetPortOpen())
{
m_Comm.SetPortOpen(TRUE);
} m_Comm.SetInputMode(0); //该成1也试过。一样不行
m_Comm.SetSettings("9600,n,8,1");
m_Comm.SetRThreshold(1);
m_Comm.SetInputLen(0);
int i,Count;
CString m_SendData;
m_SendData="Hello!"; COleVariant temp; Count=m_SendData.GetLength();
CByteArray m_Array;
m_Array.RemoveAll();
m_Array.SetSize(Count);
for(i=0;i<Count;i++)
m_Array.SetAt(i,m_SendData[i]);
temp=COleVariant(m_Array); //主要就错在这。调试时看数据变化temp是红色的???。
MessageBox("aaa");
m_Comm.SetOutput(temp);
请问我出错在哪?各位大侠帮忙支招,困扰我很久了。谢谢谢谢~
VariantClear 清除VARIANT
VariantCopy 释放与目标VARIANT关联的内存,并复制源VARIANT
VariantCopyInd 释放目标VARIANT,并尽可能间接复制源VARIANT
VariantChangeType 改变VARIANT的类型
VARIANT类型的只要用这几个函数就可以搞定了,不要用COleVariant。