// Destructor COpcEnumString::~COpcEnumString() { for (UINT ii = 0; ii < m_uCount; ii++) { OpcFree(m_pStrings[ii]); } OpcFree(m_pStrings); }
// Constructor COpcTextReader::COpcTextReader(LPCSTR szBuf, UINT uLength) : m_szBuf(NULL), m_uLength(0), m_uEndOfData(0) { if (szBuf != NULL) { m_uLength = (uLength == -1)?strlen(szBuf):uLength; m_szBuf = (WCHAR*)OpcAlloc((m_uLength+1)*sizeof(WCHAR)); int iLength = MultiByteToWideChar( CP_ACP, 0, szBuf, m_uLength, m_szBuf, m_uLength+1 ); if (iLength == 0) { OpcFree(m_szBuf); m_uLength = 0; m_szBuf = NULL; } m_uEndOfData = m_uLength; m_szBuf[m_uEndOfData] = L'\0'; } }
// CopyData void COpcText::CopyData(LPCWSTR szData, UINT uLength) { m_cData.Empty(); if (uLength > 0 && szData != NULL) { LPWSTR wszData = OpcArrayAlloc(WCHAR, uLength+1); wcsncpy(wszData, szData, uLength); wszData[uLength] = L'\0'; m_cData = wszData; OpcFree(wszData); } }
// Destructor COpcTextReader::~COpcTextReader() { OpcFree(m_szBuf); }