I am working on a SQLite-using desktop app that is intended to be built for OS X and Windows. For OS X, it runs and compiles well. For Windows (on my Mac with Xojo 2015r2.4), I get a lot of errors stating “Error: .” on more than 100 occurences.
I have found this is the case when I address the database (that is a property of the app object) from within the app only by its name “db”. When I change the property to app.db, the errors disappear.
Time for a bug report or already known?
(Edit: Sorry for the crossposts. The forum became unresponsible when I tried to post)
I would call that proper behavior, not a bug. Perhaps previous versions of Xojo have not been correctly enforcing that.
Thanks. But then the compiler should give an error on OS X too, shouldn’t it? And maybe a bit more descriptive than “.”
Is there any chance you have this DB property also in a global module for OS X. Properties on App always require the “App.” prefix outside of the App object.
Oh no, it’s something more, I see. I have used text constants giving no trouble under OS X. On Windows, they are only accepted as string constants. Oh my
No, I didn’t, but the error occured from an app method on the open event that uses these constants. From within app, I didn’t see any need for explicit namespaces. And I built SQL queries with these text constants. I have the feeling that’s more the reason than the namespace trying to explicitely address them didn’t change anything for Windows, only declaring them as string seems to help.
Ok, I found it. I had a few methods from the transition to the new framework that awaited a CFStringRef as input parameter. Which I forgot about and which of course isn’t available on Windows. Way easy to fix but it would be great if the compiler would hep a bit more in this case. Ill file a report.