Read data into safe array
'--------------------------------------------------------------------
' Visual Basic 6 - Read array
'--------------------------------------------------------------------
Private Sub FTSPCControl1_OnReceive(ByVal Count As Long)
On Error GoTo ErrorHandler
Dim buf(1) As Byte
ReadCnt = FTSPCControl1.ReadArray(buf, 1)
If ReadCnt > 0 Then
For i = 0 To ReadCnt - 1
Text_Terminal.Text = Text_Terminal.Text + Chr(buf(i))
Next i
End If
Exit Sub
ErrorHandler:
Dim err_code As Integer
err_code = FTSPCControl1.GetLastError
MsgBox "ErrorCode = " & CStr(err_code) & " - " & Err.Description, _
vbCritical, "Error!"
End Sub
/////////////////////////////////////////////////////////////////////
// C++ Example - Read array
/////////////////////////////////////////////////////////////////////
void CSPCDemoDlg::OnReceiveFtspccontrol1(unsigned long Count)
{
SAFEARRAY* psa;
psa = SafeArrayCreateVector(VT_UI1, 1, Count);
VARIANT V;
V.vt = VT_ARRAY|VT_UI1;
V.parray = psa;
LONG ReadCnt;
try
{
ReadCnt = m_SPCControl1.ReadArray(&V, Count);
}
catch(COleDispatchException* E)
{
MessageBox(E->m_strDescription, mbCaption,
MB_OK | MB_ICONERROR);
}
m_edit_Terminal.GetWindowTextW(tmp_edit_text);
SafeArrayLock(V.parray);
for (int i = 0; i < ReadCnt; i++)
{
PCHAR P = (PCHAR)V.parray->pvData + i;
//Todo: add your code
}
SafeArrayUnlock(V.parray);
SafeArrayDestroy(psa);
}