Skip to content

Month: March 2019

Tip: How To Deal with A Lot of Columns in Database Tables

Most of the time, the access to our databases tables involves a small amount of columns (fields), so the use of the Field method of the RecordSet class is the most practical approach to retrieve the selected columns values. But what can we do when the query returns, for example, dozens of columns we need to get values from?

Comments closed

What is Xojo Pro Plus…and what it is not

Recently we changed the name of Xojo Enterprise to Xojo Pro Plus. This brought about a lot of questions. For users whose businesses rely on Xojo, upgrading to Xojo Pro Plus can be very beneficial. For everyone else in the community, this change doesn’t effect you or your Xojo license.

We offer a range of license types as well as ways for users to get additional help from us. But our help comes at an opportunity cost for us because if we are helping someone with their issue, we aren’t helping others at that time. Xojo Pro users get higher priority support than Xojo Desktop users, who get higher priority support than Xojo Lite users, who get higher priority support than those using Xojo for free. Xojo Pro Plus users get the highest priority support of all.

Here is what Xojo Pro Plus is, what it isn’t and what that means for you.

Comments closed

How To Speed Timers in Windows

The Timer and Xojo.Core.Timer classes gives us a resolution that is more than enough for most of the cases where we need to use them. In fact, under macOS we don’t find any kind of limitation when using the classes provided by the Xojo Framework: we can achieve a maximum resolution of 1 ms on any of the most recent computers.

But when working with Windows OS this is not so straightforward . It doesn’t matter if we try to set the Timer Period property to a minimum value of 1 ms; Windows imposes a minimum resolution of 16 ms, insufficient when we demand the maximum precision for a critical task (period interval between Timer firings).

Of course Xojo has a solution for this, you can resort to a third-party plug-in that works extremely well … or you might find the following technique useful for all kinds of projects.

Comments closed

Guest Post: Achieving Success As A Xojo Developer

I’ve spent most of my career developing custom software. I’ve worked as an in-house developer creating custom “line of business” solutions. I’ve worked for software development firms that provide custom software for clients. And I’ve primarily been a self-employed custom software developer since first going out on my own in early 2000. Today, a lot of the work that I’m doing involves developing custom software solutions using Xojo.

I’m often asked by other developers – some who are already using Xojo and some who are not – where the opportunities for Xojo developers are, and how to find them. I also occasionally see these types of questions posted on the Xojo forum by developers who want to use their knowledge of and passion for Xojo to start their own business. So I thought I’d share some of my experiences and observations.

Comments closed

Change your DNS settings for a smooth transition to a bigger, better server

Most Xojo Cloud users have already switched to the newer Xojo Cloud servers. These new servers have more RAM and SSDs and are the priced lower or the same as our previous servers. But moving your projects from one server to another is easier said than done. You’ll need to plan carefully to avoid downtime. Here is a simple change you can make to your DNS settings in order to limit downtime, making the move to a better server smoother.

Comments closed

JSON Tree

JSON (JavaScript Object Notation) is a great text-based data format that can be used for files and web services data communication.

The structure is simpler than XML which makes it much smaller and since it does not make use of all the tags you’ll find in XML, it is also significantly easier to read. However, if you open unformatted JSON in a text editor you’ll probably find it a bit dense. Here’s how to get around that.

Comments closed

Control Sets and ContainerControl: A New Approach

A Control Set is the feature to use when there are several instances in a Window’s layout and you need to command (or access them) from code, both for those available by default in the Framework and ones based on your own graphic classes. For example, this allows us to invoke a method in a concrete instance, based on its control index, or invoke the same method to all of them (iteration). All of this without knowing in advance, at runtime, how many of such instances are placed in the layout.

An inconvenience of this feature is that you can’t use it when the graphic controls are placed on a ContainerControl due to the way ContainerControls are implemented. The good news is that this problem has an easy solution! Read on to learn about it:

Comments closed

The Klingon Translator App You Definitely Need

I love the new Star Trek Discovery and there are a fair amount of Klingons in it, from time to time. It occurred to me that someone has probably built a web service to translate English to Klingon and if so, I needed to build a Xojo app to use it.

A quick Google search turned up an API by FunTranslations: https://funtranslations.com/api/klingon

It has simple usage where you send along the text in English and you get back a JSON result containing the text translated to Klingon. Here’s the result of my 15 minutes of effort to use this in a Xojo desktop app:

Comments closed