I’ve spend days in converting a Desktop drawing app, hoping to make it available on iOS. Obvious dependencies such as MouseCursor, DesktopMenuItem and DesktopWindow, that clearly don’t exist on iOS, have been separated to the desktop side, as well as moving all the logic code to separate classes to avoid relying on DesktopCanvas.
So I was more or less happy with the huge conversion I did. After having made the project items as external and imported them into a new iOS project, I’m now seeing it won’t compile because all shapes-related function don’t seem to exist, although the documentation (e.g. for FigureShape) mentions “Compatibility: All projects types on all supported operating systems.”
Days lost because (1) the documentation is incorrect and (2) the language doesn’t provide shapes and Object2D for no obvious reason. Or does iOS just not support shapes?
Moving my work to the trash…
I believe they do exist? You sure they don’t work. I’m not at my computer right now…
They all produce compiler errors.
FigureShape, OvalShape etc?
Which errors and which constructors?
I may be wrong but I believe they compiled previously.
MobileCanvas supports Graphics and that supports object2D which is the super class of those shapes so i guess it must work still
Yes. This is the list I’m getting: FigureShape, RectShape, TextShape.
Similarly, I have trouble with the graphics class. Those don’t exist either: Bold, Italic, FontName, FontSize, FontAscent, Clip, DrawObject:
I could possibly draw some of them manually, but with all the methods that don’t exist there, I feel it’d be harder than reinventing the wheel.
E.g. with a constructor:
Can’t find a type with this name
dim fs As new FigureShape
Or even without a constructor:
Can’t find a type with this name
dim f As FigureShape
Or, a graphics’ method:
Type “Graphics” has no member named “DrawObject”.
Strange. I can’t find a note on their removal.
A possible hope… but I can’t see the light.
Are you sure you use MobileCanvas ?
You seem to be right, the shapes won’t compile e.g. they probabaly don’t exist in iOS … bummer
Not even needed at this stage, as the core logic is packed in classes. I’m passing a graphics parameter to some methods, which won’t compile on iOS.
Inconsistent, you’re right. The documentation not talking about that (instead telling “supported on every platform”), which let me spend days for nothing is also upsetting.
Now, I guess I’ll keep the work archived, should shapes become available some days for iOS, but the desktop-only version being more strong, I’m now hesitating with which one I’ll go on with. Should I improve the target-independent one and go on with it, knowing this project is not worth and may never become so or work on the archived desktop-only (this would really put my recent work to the trash)? Both seem wrong
The documentation has been updated for r2 to reflect that Object2D and related classes are only supported for desktop and web projects.
When will the update be live? It still shows
All projects types on all supported operating systems.
Why does Geoff’s original reply not show as edited as it didn’t have that R2 mention in it originally?
If it’s edited within 5 minutes of the original posting, then it doesn’t show that it was edited. As far as I know, that’s the only time a post will not show it was edited despite having been edited, even for those with higher permission levels. I don’t see any edits to the original post in my moderator view.