Jump to content

Memory or data Structure corrupt Error 74


Recommended Posts

Hello,

I am trying to make communication between Two LabVIEW(Version 10 & Version 14) application through TCP\IP.

I am sending cluster(Inc.Variant and String Control) from  LabVIEW14 To LabVIEW 10 over TCP\IP. In this case everything work fine but when I include German word (Ex. Ü or Ö) there is error like 'Error 74 occurred at Unflatten from String.'

Additional if i try to send data through Class than again there is flatten to string or XML  error.

Anyone has idea what to do with it ?

NOTE: Same Communication between LabVIEW10 and LabVIEW 11 work fine even If I send (Ü, Ö,).

 

Cluster.PNG

Edited by Gab
Link to comment

Can you examine the binary flattened string to see the differences between how LV14 would flatten the string vs LV10. You'll need to change the string indicator type to show hex. I can tell you it's a little unusual to flatten a variant. Much more common to flatten what would become a variant and then use that as a string in the flattened cluster. For example:

how to flatten.PNG

Edited by infinitenothing
Link to comment

well hes probably made a generic tcp function which takes his local cluster and transmits it like an RPC style thing.

If you're saying the german char is in the variant I'd suggest adjusting the code on the sending side to use this:

http://digital.ni.com/public.nsf/allkb/45E2D7BE36CE3E8B86257CCF0074D89B

keep in mind the type is a variant, so you have to be careful about how the receiver gets it. Note the code in the KB -- if you use this function to flatten an entire cluster, then the receiver doesn't get a string representing the flattened cluster, it gets a string representing a flattened variant, which represents the cluster. So if you were to use this I'd suggest using it *just* on the variant part of the data. The complexity of doing so depends on what else is in the cluster and how labview stores data in memory ( http://zone.ni.com/reference/en-XX/help/371361N-01/lvconcepts/how_labview_stores_data_in_memory).

If the german char is in the string, well the flattened representation of a string has probably never changed -- its 4 bytes for len followed by the data. So in this case I'd guess its more likely to be an issue with how the ue or oe are represented in whatever character set is in use....but this is about the extent of my understanding of character sets in labview. I'd suggest doing what inf{} said above, maybe trying to reproduce a very simple case, or potentially using the unicode tools ( https://decibel.ni.com/content/docs/DOC-10153) to convert characters from window->utf8 and back again.

Edited by smithd
  • Like 1
Link to comment
Quote

I'd suggest doing what inf{} said above, maybe trying to reproduce a very simple case, or potentially using the unicode tools ( https://decibel.ni.com/content/docs/DOC-10153) to convert characters from window->utf8 and back again.

yes but same problem(German char) is working fine with LabVIEW11 and LabVIEW10. is there any change in flatten to string or unflatten from string function in LabVIEW 2014?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.