I've debugged it some more, and I am completely confused.
a variable is changing its address without being updated!
I have the src variable, which is a pointer to a interface, and is assigned either null, or a new TCPsender. I then print out the pointer address, and it looks good.
Later, after i'm enabled and in the telop function, I call GetString, and print out the address, then try to deref src, and ultimatly fail because somehow, src changed even though those are the only two active lines of code that reference src.
Output attached (how does one copy and paste the text from the NetConsole? I could not get a sticking selection)
Code:
Code:
void OperatorControl(void)
{
cerr<<"IN oc"<<endl;
int loops=0;
while (IsEnabled())
{
cerr<<"looping";
cerr<<zb.GetString("ival")<<endl;
}
}
Constructor
Code:
if ((mode & RemoteData) == RemoteData)
src = new System451::Communication::Dashboard::ZomBTCPSource();
else
src = 0;
debugf("init: src=%p\r\n", src);
Code:
string ZomBDashboard::GetString(string name)
{
if (src)
{
debugf("\r\ngsi: src=%p\r\n", src);
return src->Get(name);
}
return "";
}