Hi Support Team,
We are using Unified Automation UA SDK C++ Server Professional 1.6.3 in our OPC UA server. We use visual studio 2015 for our development.
We are following sample server “server_com_da_migration” for our OPC server development.
We have our own NodeManager implementation.
Below is code snippet in the executeRead() method. This executeRead() method is called every 10 millisecond.
We are afraid that the dataValue of type UaDataValue will cause memoryleak. Because every 10 millisecond one object of type UaDataValue is created.
void OPCUAIOManagerJob::executeRead()
{
UaDataValue dataValue;
------
-----
----
dataValue.setServerTimestamp(UaDateTime::now());
m_pTransactionContext->m_pCallback->finishRead(
m_pTransactionContext->m_hTransaction,
m_pTransactionContext->m_arrCallbackHandles,
dataValue,
OpcUa_True,
OpcUa_True);
VariantClear(&pValues);
dataValue.clear();
-----
-----
}
Question:
1. How to delete the memory allocated for UaDataValue ? Does it taken care by tool kit.?
2. We tried using dataValue.clear( ) as shown in code snippet. But the read is not successful.
Please help us on this.Thanks in advance for the help.
Thanks
Antoni
How to delete memory allocated for UaDataValue object
Moderator: uasdkcpp
-
- Hero Member
- Posts: 33
- Joined: 25 Oct 2013, 05:26
- Support Team
- Hero Member
- Posts: 3071
- Joined: 18 Mar 2011, 15:09
Re: How to delete memory allocated for UaDataValue object
Hello Antoni,
in the code you posted you use a local variable dataValue. So the destructor of UaDataValue will be called when execution leaves that scope.
The destructor of UaDataValue clears all resources used by that class. There's no need to explicitly call dataValue.clear() here.
Do you observe any memory leaks or are you just wondering if that could happen?
in the code you posted you use a local variable dataValue. So the destructor of UaDataValue will be called when execution leaves that scope.
The destructor of UaDataValue clears all resources used by that class. There's no need to explicitly call dataValue.clear() here.
Do you observe any memory leaks or are you just wondering if that could happen?
Best regards
Unified Automation Support Team
Unified Automation Support Team
-
- Hero Member
- Posts: 33
- Joined: 25 Oct 2013, 05:26
Re: How to delete memory allocated for UaDataValue object
Hi Team,
Thank you very much for your quick response . I appreciate it.
No . I am not facing any memory leaks. Just asking for clarification.
Thank you again
Regards
Antoni
Thank you very much for your quick response . I appreciate it.
No . I am not facing any memory leaks. Just asking for clarification.
Thank you again
Regards
Antoni