PriceTicMIObject_public coinatins a pointer to protobuf. But may be in long 
run you are correct. I have to double check if I "restore" pointers 
correctly.

Thank you Adam very much. I will be back as soon as possible. I could send 
you my h file, but I am not sure you would enjoy looking at it.

-Boris

On Wednesday, May 29, 2019 at 2:29:25 PM UTC-4, Adam Cozzette wrote:
>
> But in your previous example code the original protobuf message was 
> pObj->_objectSetType so I don't see how that could affect 
> pObj->PriceTicMIObject_public, which seems to be a separate class member. 
> Is pObj->PriceTicMIObject_public also a protobuf message?
>
> On Wed, May 29, 2019 at 11:25 AM Boris Pitel <[email protected] 
> <javascript:>> wrote:
>
>> example :
>> I initialize my fields to certain values like this:
>> pObj->PriceTicMIObject_public->set_ContentDelayed("True");
>> pObj->PriceTicMIObject_public->set_KeyExchangeSource("558");
>> pObj->PriceTicMIObject_public->set_TradingSymbol("BAC");
>> pObj->PriceTicMIObject_public->set_CUSIP("VaskaKushaetISpit");
>>
>> after serialization and deserialization newObj has all this fields equal 
>> to NULL.
>>
>> Thanks,
>>
>> Boris
>>
>> On Wednesday, May 29, 2019 at 2:13:40 PM UTC-4, Adam Cozzette wrote:
>>>
>>> Can you give an example of a specific field that has different values 
>>> between the old and new messages? I suspect the problem might be that 
>>> you're expecting them to be equal on a byte-for-byte comparison of their 
>>> in-memory structure, and that will usually not be the case because the 
>>> messages will contain things like pointers to submessages.
>>>
>>> On Wed, May 29, 2019 at 11:06 AM Boris Pitel <[email protected]> wrote:
>>>
>>>> Adam, the new deserealized object doesn't contain ANY data which was in 
>>>> original object instance.
>>>>
>>>> To put it simple 
>>>> 1) we have obj
>>>> 2) we make a string obj.SerializetoString ( & body)
>>>> 3) We parse the string into new object : newobj.ParseFromString ( 
>>>> body). 
>>>> 4) I expect obj == newobj. But it isn't so. newobj is not equal to obj 
>>>> ( in terms of content - field value)
>>>>
>>>> Thanks,
>>>> Boris
>>>>
>>>>
>>>> On Wednesday, May 29, 2019 at 1:41:48 PM UTC-4, Adam Cozzette wrote:
>>>>>
>>>>> Hmm, that makes me think perhaps everything is working then. What is 
>>>>> different about the messages in a way that you didn't expect?
>>>>>
>>>>> On Wed, May 29, 2019 at 10:37 AM Boris Pitel <[email protected]> 
>>>>> wrote:
>>>>>
>>>>>> 89. The same as original object.
>>>>>> It is strange. Isn't it?
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wednesday, May 29, 2019 at 1:12:35 PM UTC-4, Adam Cozzette wrote:
>>>>>>>
>>>>>>> What's the value of pnewObj->_objectSetType.ByteSizeLong() after the 
>>>>>>> parse?
>>>>>>>
>>>>>>> On Wed, May 29, 2019 at 10:01 AM Boris Pitel <[email protected]> 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Thank you, Adam!
>>>>>>>> Yes, both returns values are true, and size is very reasonable - 
>>>>>>>> 89. 
>>>>>>>> Any other ideas? :(
>>>>>>>> -Boris
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wednesday, May 29, 2019 at 12:57:49 PM UTC-4, Adam Cozzette 
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> So after parsing, the message is just empty? The first thing I 
>>>>>>>>> would do is double-check that SerializeToString() and 
>>>>>>>>> ParseFromString() are 
>>>>>>>>> returning true and also verify that the length of the serialized 
>>>>>>>>> string is 
>>>>>>>>> reasonable.
>>>>>>>>>
>>>>>>>>> On Wed, May 29, 2019 at 9:48 AM Boris Pitel <[email protected]> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Ok, let me explain. I have a class let's call 
>>>>>>>>>> it PriceTicObjectSet. This class is a wrapper around protobuf class. 
>>>>>>>>>> This PriceTicObjectSet has member variables which are directly point 
>>>>>>>>>> to 
>>>>>>>>>> protobuf class variables - just setters and getters. Function 
>>>>>>>>>> toString is 
>>>>>>>>>> for convenience only, all it does it is dumps the content of  the 
>>>>>>>>>> instance 
>>>>>>>>>> of PriceTicObjectSet. Its implementation is like :
>>>>>>>>>> .....
>>>>>>>>>> if ( name_internal != NULL ) toReturn += ("name=" + 
>>>>>>>>>> name_internal->value() );
>>>>>>>>>> ....
>>>>>>>>>>
>>>>>>>>>> in other words toString() is just not essential here. We could 
>>>>>>>>>> just use debugger and see that after ParseFromString the object 
>>>>>>>>>> doesn't 
>>>>>>>>>> change at all.
>>>>>>>>>>
>>>>>>>>>> Sorry for not being clear.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> -Boris
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wednesday, May 29, 2019 at 12:15:02 PM UTC-4, Adam Cozzette 
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Could you provide some more details on what that function does 
>>>>>>>>>>> and what its outputting? Without that it is hard to know what the 
>>>>>>>>>>> problem 
>>>>>>>>>>> is.
>>>>>>>>>>>
>>>>>>>>>>> On Wed, May 29, 2019 at 8:04 AM Boris Pitel <[email protected]> 
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> toString is just a function which dumps the object 
>>>>>>>>>>>> ( PriceTicObjectSet ) - PriceTicObjectSet is just a very thin 
>>>>>>>>>>>> wrapper 
>>>>>>>>>>>> around protobuf class. I use toString to see the content of the 
>>>>>>>>>>>> message.
>>>>>>>>>>>>
>>>>>>>>>>>> -Boris
>>>>>>>>>>>>
>>>>>>>>>>>> On Wednesday, May 29, 2019 at 10:40:02 AM UTC-4, Adam Cozzette 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> What does your toString() function do?
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, May 29, 2019 at 7:32 AM Boris Pitel <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hello team,
>>>>>>>>>>>>>> I am new to C++ protobuf. library.
>>>>>>>>>>>>>> I experience following difficulty.
>>>>>>>>>>>>>> I have an pObj, i serialize it using SerializeToString, then 
>>>>>>>>>>>>>> as a test i try to deserialize the string using ParseFromString. 
>>>>>>>>>>>>>> I expect 
>>>>>>>>>>>>>> that after deserialization the object will contain the same data 
>>>>>>>>>>>>>> as 
>>>>>>>>>>>>>> original pObj. It doesn't happen. The new object contains nulls. 
>>>>>>>>>>>>>> The 
>>>>>>>>>>>>>> ParseFromString return true. Here is the pseudo-code:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> string body;
>>>>>>>>>>>>>> int n1 = pObj->_objectSetType.ByteSizeLong();
>>>>>>>>>>>>>> result = pObj->_objectSetType.SerializeToString(&body);
>>>>>>>>>>>>>> PriceTicObjectSet* pnewObj = new PriceTicObjectSet;
>>>>>>>>>>>>>> result = pnewObj->_objectSetType.ParseFromString(body);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> string dump1 = toString(pObj);
>>>>>>>>>>>>>> printf("Dump1:\n%s\n", dump1.c_str());
>>>>>>>>>>>>>> string dump2 = toString(pnewObj);
>>>>>>>>>>>>>> printf("Dump2:\n%s\n", dump2.c_str());
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Again, I expect that after deserialization objects pObj and 
>>>>>>>>>>>>>> pnewObj contain same data. 
>>>>>>>>>>>>>> This issue puzzles me and it is really important to solve it.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Please can somebody help me - probably I am doing something 
>>>>>>>>>>>>>> wrong.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you 
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Boris Pitel
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from 
>>>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>>>> To post to this group, send email to [email protected]
>>>>>>>>>>>>>> .
>>>>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com
>>>>>>>>>>>>>>  
>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>> .
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> On Wednesday, May 29, 2019 at 10:40:02 AM UTC-4, Adam Cozzette 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> What does your toString() function do?
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, May 29, 2019 at 7:32 AM Boris Pitel <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hello team,
>>>>>>>>>>>>>> I am new to C++ protobuf. library.
>>>>>>>>>>>>>> I experience following difficulty.
>>>>>>>>>>>>>> I have an pObj, i serialize it using SerializeToString, then 
>>>>>>>>>>>>>> as a test i try to deserialize the string using ParseFromString. 
>>>>>>>>>>>>>> I expect 
>>>>>>>>>>>>>> that after deserialization the object will contain the same data 
>>>>>>>>>>>>>> as 
>>>>>>>>>>>>>> original pObj. It doesn't happen. The new object contains nulls. 
>>>>>>>>>>>>>> The 
>>>>>>>>>>>>>> ParseFromString return true. Here is the pseudo-code:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> string body;
>>>>>>>>>>>>>> int n1 = pObj->_objectSetType.ByteSizeLong();
>>>>>>>>>>>>>> result = pObj->_objectSetType.SerializeToString(&body);
>>>>>>>>>>>>>> PriceTicObjectSet* pnewObj = new PriceTicObjectSet;
>>>>>>>>>>>>>> result = pnewObj->_objectSetType.ParseFromString(body);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> string dump1 = toString(pObj);
>>>>>>>>>>>>>> printf("Dump1:\n%s\n", dump1.c_str());
>>>>>>>>>>>>>> string dump2 = toString(pnewObj);
>>>>>>>>>>>>>> printf("Dump2:\n%s\n", dump2.c_str());
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Again, I expect that after deserialization objects pObj and 
>>>>>>>>>>>>>> pnewObj contain same data. 
>>>>>>>>>>>>>> This issue puzzles me and it is really important to solve it.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Please can somebody help me - probably I am doing something 
>>>>>>>>>>>>>> wrong.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you 
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Boris Pitel
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from 
>>>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>>>> To post to this group, send email to [email protected]
>>>>>>>>>>>>>> .
>>>>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com
>>>>>>>>>>>>>>  
>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/dfae067f-71ec-4550-b18e-aa8aabab0af2%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>> .
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>> -- 
>>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from 
>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/d3e71b81-66db-48d9-8cc3-640aee92919a%40googlegroups.com
>>>>>>>>>>>>  
>>>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/d3e71b81-66db-48d9-8cc3-640aee92919a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>> .
>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>
>>>>>>>>>>> -- 
>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>> send an email to [email protected].
>>>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/bb594c06-2d62-46b6-9f53-b65f26af4dd8%40googlegroups.com
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/bb594c06-2d62-46b6-9f53-b65f26af4dd8%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>> Groups "Protocol Buffers" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>> send an email to [email protected].
>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>>>> To view this discussion on the web visit 
>>>>>>>> https://groups.google.com/d/msgid/protobuf/41c133de-c9f7-478c-a910-446248251197%40googlegroups.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/protobuf/41c133de-c9f7-478c-a910-446248251197%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Protocol Buffers" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/protobuf/32df94fb-c76d-4916-bbe2-9ef70bb06ae8%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/protobuf/32df94fb-c76d-4916-bbe2-9ef70bb06ae8%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Protocol Buffers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/protobuf/0375fb61-963a-4127-bb8a-c44ba6237ffa%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/protobuf/0375fb61-963a-4127-bb8a-c44ba6237ffa%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Protocol Buffers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/protobuf.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/protobuf/ba431b04-9f86-435c-a29f-1ec460b828f1%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/protobuf/ba431b04-9f86-435c-a29f-1ec460b828f1%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/82453d17-7f93-4319-9915-e6a3fc206442%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to