Xojo 2016.2: New JavascriptNamespace Error by Compiling?

I’m using the GraffitiWebEdition.

When I compile my App from Xojo 2016.1 in Xojo 2016.2 without a change of the source code, I got that error:

“GraffitiControlWrapper must have a JavascriptNamespace.
GraffitiControlWrapper”

What can I do to fix it? I must be an issue with Xojo 2016.2, the error message is new.

WebControlWrapper.JavascriptNamespace. The change is as far as I can tell that now the compiler enforces it. The docs always said, that this constant has to be added.

If you have access to the source code of the WebControlWrapper class, you can add this constant yourself to the class. If you don’t have access to the source code, the developer will of course have to add it.

[quote=277682:@Eli Ott]WebControlWrapper.JavascriptNamespace. The change is as far as I can tell that now the compiler enforces it. The docs always said, that this constant has to be added.

If you have access to the source code of the WebControlWrapper class, you can add this constant yourself to the class. If you don’t have access to the source code, the developer will of course have to add it.[/quote]
This is correct. We have been seeing some instances of user defined controls interfering with one another lately as people have not been using unique namespaces. The IDE will now keep track of which ones are used and abort the compile if more than one use the same namespace or if any controls do not have a namespace defined at all.

As documented, developers should be using unique namespaces for each of their control classes. For instance, if Acme had a Table and a Button control, they might have acme.table and acme.button respectively. This helps keep their JavaScript code completely separate in the browser.

Oh, and in my example, what could I do? I bought the GraffitiWeb Plugin at xojo.com. Will Xojo fix it? Can I fix it myself? Or do I have to contact the author?

You should contact the author.

Grafitti Suite website: https://graffitisuite.com

add this constant to the GraffitiControlWrapper (just copy and paste, or create the constant manually):

Const JavascriptNamespace As String = “GraffitiSuite”

I already told Anthony about this. But you can easily fix it yourself: just go to the offending class and fix the JavascriptNamespace constant. It looks as if Anthony just made some error there (he probably just copied the classes and forgot to change the JavascriptNamespace value).