Bug: Error on Object Name Translation


#1

When deploying and Basic code is translated to Javascript, object names loose their capitalization format. If there is a third capital letter in the name, it is lost. Example:

ContainerTSQR.Height = ContainerTrocaSensor.Height - InfoTrocarSensor.Height

becomes:

ContainerTSQR.Height = ContainerTrocasensor.Height - InfoTrocarsensor.Height

As a workaround I’m using this code:
ContainerTSQR.Height = eval(“ContainerTrocaSensor”).Height - eval(“InfoTrocarSensor”).Height

(AppStudio 6.2.7.2)


#2

The Translator finds the first usage of a variable name, then uses its rendering for a subsequent occurrences of it. Have a look through your code: I bet you are using ContainerTrocasensor someplace.


#3

This is the only occurrence of this variable. I’m resizing controls just after form is shown.
Looks like any AbcdEfgHijk is translated to AbcdEfghijk.
Happened with this variable names: ContainerTrocaSensor, InfoTrocarSensor

Does not happen wit these: ContainerTSTop, ContainerTSBottom, ContainerTSSensores


#4

It caches these variable names, to save time in subsequent builds.

Make a change in each of your modules - just add or delete a space. This will force the cached modules to be retranslated.


#5

I tried again, changing all modules. Same error.

ContainerTrocaSensor.Height -InfoTrocarSensor.Height

is translated to:
ContainerTrocasensor.Height -InfoTrocarsensor.Height

Tried changing variable names and creating new ones, same result. The third capital is lowered after translation.


#6

Try opening the .nsx file in a text editor, and do a search on ContainerTrocasensor. Does it appear anywhere?


#7

Yes. There is one in “cached_js”:


#8

That’s the one it is using. You need to retranslate the module or form which contains that cached_js.


#9

But I already edited all forms. For some reason this cache.js does not change.


#10

You may have missed one, or not made a change which forced a translate. Translate is done on Deploy or if the app is started.