CONTACT | TEL : 02-728-3440, EMAIL : SALES@ASTRONLOGIC.COM
ASTRON LOGIC RESEARCH AND DEVELOPMENT CO.,LTD.

» WEBBOARD

เกี่ยวกับ Visual C++

void CSerialPortDlg::OnOnCommMscomm()
{
long lLen;
BYTE *pAccess;
COleVariant myVar;
CString str;
HRESULT hr;
myVar.Attach(m_ccomm.GetInput());
hr = SafeArrayGetUBound(myVar.parray,1,&lLen);

if (hr == S_OK)
{
hr = SafeArrayAccessData(myVar.parray,(void**) &pAccess);
if (hr == S_OK)
{
for (int i = 0; i <= lLen; i++)
{
str.Empty();
str.Format("<0x%02d><%03d>",pAccess[i],pAccess[i]);
m_clist_recieve.InsertString(0,str);
m_clist_recieve.UpdateWindow();
}
SafeArrayUnaccessData(myVar.parray);
}

}
}

จากโค้ดข้างบนเป็นโค้ดที่ใช้ในการตอบสนอง เมสเสจ OnComm ในการรับข้อมูลจากอุปกรณ์ภายนอกที่ต่อกับ PC ผ่าน Serial Port ซึ่งผมเอามาจากหนังสือ สัมผัสโลก USB ของทางทีมงานครับ
ผมสงสัยสองฟังก์ชันนี้ครับว่าใช้ทำอะไร
SafeArrayGetUBound(myVar.parray,1,&lLen);
SafeArrayAccessData(myVar.parray,(void**) &pAccess);
พยายามอ่านจาก msdn แล้วครับแต่ไม่เข้าใจ
เพราะแม้กระทั่ง SafeArray ผมก็ยังไม่รู้เลยครับว่ามันคืออะไร
ใครรู้ช่วยหน่อยนะครับ

จากคุณ : Max++ ตั้งกระทู้นี้เมื่อ 09:59 [27/05/2006]

ร่วมด้วยช่วยกันตอบครับ
ชื่อ :
E-Mail :
คำตอบ :







คลิกเพื่อแทรกรูป