Are there bugs in "Introduction to programming"?

Hello,
I’m new here. I shortly present myself.
I’m a freelance professional since 1992. I’m a graphic and web designer with a long time hitch for evolving myself into a developer.
My first time developing something was in basic on a Sinclair ZX81 on its 1Kb RAM.
Later, during the eighties, I worked in Commodore customer care and wrote for an italian Amiga Magazine. In 1992 I discovered to have some talent for design and I shifted my career from “pure tech” (programming&hacking) to “applied tech” (mostly "photoshop"ping&"pagemaker"ing).

For the chronicles, it was about 1996 when I first tried RealBasic. It was a friend of mine, a full time developer, who introduced me to it.
Unfortunately, I dropped it almost immediately because of some problems (errors? I don’t remember…) with the manual.
I couldn’t get over the bugs I found and I stopped trying.

Of course my motivation was not so strong, I was curious and nothing more, but the funny thing is that the same is happening today with Xojo.
Let me tell you.

I “discovered” again Xojo this second time about a couple of weeks ago, while I was looking for multiplatform alternatives to Swift.
I really want to develop for iOS but don’t want to find myself closed into it. When I discovered that Xojo was not only multiplatform, but even the new incarnation of the great classic RealBasic, I immediately installed it and started to read the “Introduction to programming” free book.

And in a few days, the “bug curse” hit me again:

  • Section 8.5 - step 5
    I typed line for line and run the project and the IDE tells me: “c.DisplayCourse.Info - item doesn’t exist”

This time I said to myself that I could go over it.
Finally, after some tries and some hours of headaches I found a way to solve this issue and now the program worked as intended.
I was still happy for the result when, after a few lines of the manual, I found the same problem with another step:

  • 8.5 - Step 10: Me.EnrolledStudents.Append(s)
    Of this code, IDE tells: Type “Course” has no member named EnrolledStudent
    (Of course the property is in place, with the correct name and type… so what’s the matter!!!)

This is the exact time when I decided to write a post in this forum…

I could think of 3 way to explain this situation:

  1. I’m totally stupid and I’m doing something so evidently wrong I couldn’t even find it
  2. Xojo is a big load of bugs (Actually I don’t think so, but of course it’s a possibility)
  3. The manual is not a manual, but an excercise book where we have to find and solve the bugs. It’s a way to teach us the best developer state of mind: “usually nothing works and you always have to find a way out”

If you cannot confirm any of these hypotesis, please help me overcome this bug because I really want to become a Xojo Pro (and proudly pay my subscription) but I cannot feel like a looser every time I try to learn to use it. I hope you could understand my actual mood :wink:

Have a great weekend
Enrico

My system:
MacBook Pro 15 Retina / iMac 27 5K
Xojo 2016 release 3 / MacOS Sierra

[quote]- 8.5 - Step 10: Me.EnrolledStudents.Append(s)
Of this code, IDE tells: Type “Course” has no member named EnrolledStudent
(Of course the property is in place, with the correct name and type… so what’s the matter!!!)[/quote]

Add a property to your Course class: [b]EnrolledStudents/b As Student. … note this is plural and a property of the class called Course

Add a method to your Course class called “EnrollStudent”. … this is a method, and is singular
This method takes one parameter: s As Student.

inside that place a line of code that says
Me.EnrolledStudents.Append(s)

SO: if your message is Type “Course” has no member named EnrolledStudent then you have forgotten that the property is EnrolledStudents plural.

It may have been easier to spot if EnrolledStudents had been called Array_of_EnrolledStudents

Hi Jeff, thanks for your help.
I followed your instructions line by line and the error is… changed!
Now it’s:

type “Course” has no member named “EnrolledStudents”
Me.EnrolledStudents.Append(s)

Screenshot: http://d.pr/i/12JtY

Enrolled has only two l, not three.

You can (mostly)* check spelling errors by hitting tab when you enter code.
If you do this after entering
“Me.Enro” you see the matching properties and methods of your class.

  • Autocomplete does not work all the time, but in most cases it’s a reliable spellchecker.

I have to say here that it is not easy to follow read instructions: mispelling, forgetting are both so easy :frowning:

BTW: Enrico, why don’t you use the provided examples first (to know it compiles, works), to watch the code / run it ?

Good catch, Eli. So it was explanation #4

  1. I made a simple mistake, but I just can’t see it.

That’s probably the most common one.

And of course, for the pedants among us…

EnrollStudent (s) shouldnt even have 2 Ls, because Enrol the verb only has 1
But the method would work even if it was called Banana…

Not in the US. Enrolled.

Ah yes. Enough said. :wink:

Thank you all for your assistance :slight_smile:

@Eli Ott : Yes, there was a mispell, thanks for finding it!, but no, it wasn’t the culprit :frowning:
@Tim Hare: yes you’re right! As a graphic designer, I always ask my clients to check text and titles before publishing/printing since “4 (or more) eyes are MUCH better than 2”. Code is even worse, considering the presence of a lot of punctuation and funny neologism in variables names…
@Jeff Tullin : you know, world is so great because it’s so varied, so full of different colours… or was it “colors”? :wink:

And last but not least, @Emile Schwarz, is there really a place where I can find the working version of the apps presented in the “Introduction to programming” guide?! Probably you mean the examples in the Xojo folder on my Mac, but in doubt I ask :wink:

I think I’ll skip this tutorial for now, I’m not ready to find the problem by myself.
I’ll get back on it later, with a deeper knowledge of Xojo.

In the meantime, if you have tips on the best way to learn Xojo for a designer, I’m ready to listen!

You can post a link to your project Enrico and we’ll take a look. Often a complete example makes it easier to spot what’s out of place.

The last version archive holds the example projects as far as I recall… I check… It seems so.

The front cover reads 3rd Edition, Rhine / Lefebvre, from July 19th, 2016.…

URL: “http://xojo.com/learn/index.php”, download the pdf version. That’s it.

FWIW, here is the list of provided examples (from the XojoProjects folder, beside the PDF):

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 iOSAddendum

For the ones who want more info about the documentation, read here @ developer.xojo.com …

OK folks, I understand what happens. There is a deprecated version of this PDF: “http://developer.xojo.com/get-started” on the left vertical pane, the name is: “Introduction to programming”.

That pdf comes as a single PDF file, does not have the examples and its date is 2014 (the original version).

Enrico: download the one here “http://xojo.com/learn/index.php” (the PDF button) and you will get the last version.

Not exactly what you asked for but as you may be asking for it in the future, there is a searchable list of the examples included in the Xojo Download in the Dev Center: http://developer.xojo.com/examples