Suppose you write a control subclass that you want people to be able to add to a window layout OR be able to create on the fly. But you want to make sure that when an instance is constructed in code it MUST have a parameterized constructor. However, in order to put an instance on a layout by drag and drop it has to have a no parameter constructor.… Read the rest
Sampling with a delay
MacOS terminal is a useful tool to know for a few really handy things.
One is getting a sample of a process after some delay so you can start doing whatever it is you want to sample.
Trying to do this in Activity monitor is not possible
But at the command line you can delay the start of the sample so you have a chance to set up the sampling and then switch back to Xojo to do the task you want sampled.… Read the rest
Why shadowing should be avoided
We’ll create a sample project to demonstrate why its a bad thing to do.
Start a new desktop project.
Add a new Class that is a subclass of ”CancelButton” by dragging a CancelButton from the library to the Navigator.
Name this new class “myPushButton”
Add a property to it – enabled as boolean
Make sure the property is public
Now on Window1 add an instance of this new button subclass.… Read the rest
Follow up on what type am I ?
Back when I was still at Xojo I wrote a blog post about what type of variable am I ?
This is a follow up on that to maybe help explain things more.
The particular difficulty is arrays. They are simple and can cause deceptive an hard to find bugs BECAUSE they are so easy to use and the Xojo language appears to do what you intend (but I don’t think it is doing the wrong thing).… Read the rest
Simple but really useful alternate menus
macOS supports the notion of Alternate menus. One that even once you have opened the menu you can toggle between their textual description and short cut by pressing the Option Key or another modifier like Shift or Control.
And you can even set up several so pressing Shift is one, Shift + Ctrl is another, and Option is yet another.… Read the rest
My departure
Originally published on my old blog March 12, 2019
After Joe Ranieri quit* & moved to a new job I think everyone felt stressed. I know I did. It felt like so much more was expected of an ever smaller group of developers.
By Dec of that year I’d had enough of the forums and some of the general dumping on Xojo as a product.… Read the rest
An extensible class factory
Some times you want to make a nice generic class that a user can extend via subclassing.
However, one issue arises with this.
How can a factory method in the super class create instances of the subclasses ? This is especially troublesome if the classes you have are encrypted so you cant change the source or in a plugin.… Read the rest
Code for safety
Lots of time you see code like
static flag as boolean
if flag then return
flag = true
// rest of method
flag = false
In a simple method/event with only a handful of lines there’s probably nothing wrong with this
But what do you do when the method spans into hundreds or thousands of lines ?… Read the rest
Hello world!
Welcome to the new great white software blog.
Lets see if we can have comments and NOT get spammed to death again.