Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Forums
  3. Bug For Cpp Server

bug for cpp server

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By 953313493@qq.com , 3 June, 2021
Forums
Gurux.DLMS

```
int CGXDLMSProfileGeneric::GetData(
CGXDLMSSettings& settings,
CGXDLMSValueEventArg& e,
std::vector< std::vector<CGXDLMSVariant> >& table,
std::vector<std::pair<CGXDLMSObject*, CGXDLMSCaptureObject*> >& columns,
CGXByteBuffer& data)
{
if (settings.GetIndex() == 0) {
data.SetUInt8(DLMS_DATA_TYPE_ARRAY);
if (e.GetRowEndIndex() != 0) {
------here-------
GXHelpers::SetObjectCount(e.GetRowEndIndex() - e.GetRowBeginIndex(), data);
}
else {
GXHelpers::SetObjectCount((unsigned long)table.size(), data);
}
}

fix to for array length

GXHelpers::SetObjectCount(e.GetRowEndIndex() - e.GetRowBeginIndex()+1, data);
```

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

in PreRead count should be +1 to compare (*it)->GetRowToPdu()
void CGXDLMSBase::PreRead(std::vector<CGXDLMSValueEventArg*>& args)
{
long count = (*it)->GetRowEndIndex() - (*it)->GetRowBeginIndex() + 1;
// Read only rows that can fit to one PDU.

------fix
//if ((*it)->GetRowEndIndex() - (*it)->GetRowBeginIndex() > (*it)->GetRowToPdu())
if (count > (*it)->GetRowToPdu())
{
count = (*it)->GetRowToPdu();
}
GetProfileGenericDataByEntry(p, (*it)->GetRowBeginIndex(), count);
}

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701
  • Thu, 07/23/2026 - 16:19
    gurux.dlms.java 4.0.96
  • Thu, 07/09/2026 - 14:34
    Gurux.DLMS.Python 1.0.201
  • Fri, 06/26/2026 - 16:32
    Gurux.Service 3.0.2606.2601
  • Wed, 06/24/2026 - 08:36
    Gurux.DLMS.Python 1.0.200

New forum topics

  • Service not known error on gprs communication
  • Help Needed: Interfacing Saral 100 Energy Meter with Microcontroller via RS232
  • Connecting Meter to Agent via serial
  • Reading block profile with Compact array
  • DLMS server - serving multiple similar datasets gathered from multiple meters across distinct logical addresses
More

Who's new

  • JeffreyPal
  • DingfanXue
  • UrukTroge
  • Quarryboss
  • CorwXGlcWwyuiJawypxb
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin