WriteArray Method
Writes specified number of bytes from array to serial port.
Syntax
| Visual Basic | Function WriteArray(DataBuffer As array of Byte, BytesToWrite As Long) As Long |
|---|---|
| Visual C++ (MFC) | long WriteArray(VARIANT DataBuffer, long BytesToWrite); |
| Visual C++ (#import) | LONG WriteArray(VARIANT DataBuffer, LONG BytesToWrite); |
Parameters
DataBuffer
[in] SafeArray of bytes to write.
BytesToWrite
[in, optional] Number of bytes to write to serial port.
Return
Number of bytes written to serial port. It can write fewer bytes than requested; the return value must be noted, and the reminder of the operation should be retried when possible.
Errors
The method may throw exception. Use GetLastError method to get the error code.
Code Example
'--------------------------------------------------------------------
' Visual Basic 6 - Write array
'--------------------------------------------------------------------
On Error GoTo ErrorHandler
Dim DataToWrite(5) As Byte
For i = 1 To 5
DataToWrite(i) = i
Next i
Call FTSPCControl1.WriteArray(DataToWrite, 5)
Exit Sub
ErrorHandler:
Dim err_code As Integer
err_code = FTSPCControl1.GetLastError
MsgBox "ErrorCode = " & CStr(err_code) & " - " & Err.Description, _
vbCritical, "Error!"
/////////////////////////////////////////////////////////////////////
// C++ Example - Write array
/////////////////////////////////////////////////////////////////////
char *WriteBuffer = "Data to write";
VARIANT V;
V.vt = (VT_ARRAY|VT_UI1);
SAFEARRAY* psa;
psa = SafeArrayCreateVector(VT_UI1, 1, strlen(WriteBuffer));
if (psa != NULL)
{
SafeArrayLock(psa);
memcpy(psa->pvData, PVOID(WriteBuffer), strlen(WriteBuffer));
SafeArrayUnlock(psa);
V.parray = psa;
}
try
{
m_SPCControl1.WriteArray(V, sizeof(WriteBuffer));
}
catch(COleDispatchException* E)
{
MessageBox(E->m_strDescription, mbCaption, MB_OK | MB_ICONERROR);
}
if (psa != NULL)
{
SafeArrayDestroy(psa);
}