Whether you are using Xojo to create your very first application or if you are coming from other languages, like C# or VisualBasic, customized UI controls are probably one of those things you have in your to-do list. For multiplatform Desktop apps, you will find that the Canvas class offers everything you need. In order to show you how easy it can be, follow this tutorial to recreate the ImageWell UI class control, provided by default in the Xojo framework. Our customized ImageWell will be able to proportionally display any JPEG file dropped by the user on the control, centering it on the available surface.
Comments closedCategory: Learning
If you spend enough time trying to predict the future, you learn that the more variables there are, the more difficult it becomes to determine a future. Take the weather for example. It’s not hard to predict tomorrow’s weather because there’s not much that will change over the next 12 hours or so. Try to predict the weather 7 days from now, 7 months or worse, 7 years from now, and your results will begin to vary dramatically.
This is certainly the case when it comes to writing apps. The bigger any one particular feature is, the more variables there are that affect it and thus the more difficult it becomes to predict how long it will take to finish. You don’t have to work in the software business very long to figure this out. Like most people in the software industry, we’ve been trying (with varying degrees of accuracy) to do this not just for our own internal planning but because we know you want, and need, to know as well.
Comments closedWhile working on an app I found myself in an unexpected situation when a piece of code that had been working fine began to throw an OutOfBoundException
. After a bit of debugging I found that the culprit was the length of an array passed to the AddRow
method of a ListBox instance.
During his Keynote, Geoff announced the winners of the 2018 Xojo Design Awards, honoring excellence in software design in the following categories: Best Developer Tool, Best Specialty App, Best Consumer App, Best Mobile App, Best Utility App and Best Cross-Platform App.
These apps represent the creativity, flexibility and diversity in the Xojo Community – support this year’s winners and the whole Xojo community by sharing and reviewing their apps on social media and app stores!
This year’s winners are:
Comments closedStarting with Xojo 2018r1, your Xojo apps require the libunwind8 library to be installed on your Raspberry Pi. Here’s how to update your Pi.
Comments closedHere are some tips that will help ensure your Windows apps look and feel their best, with Xojo 2018 Release 1 now that Windows apps now have a more stable and flicker-free UI than ever before.
1 CommentYou can call into Linux APIs to use methods and properties that are not built into the framework by using the Declare command. To create a Declare statement you first need to track down the API you want to use using Linux documentation.
Comments closedThe linker is not technically part of the compiler, but it is needed to make a completed app. The purpose of the linker is to combine (link) all the various bits and pieces of machine code created by the compiler along with the necessary information to create a runnable app for the OS.
This is the ninth and final post in our Compiler series. Previous posts:
- LLVM Everywhere
- Compilers 101 – Overview and Lexer
- Compilers 102 – Parser
- Compilers 103 – Semantic Analyzer
- Compilers 104 – IR Generation
- Compilers 105 – Back End Overview
- Compilers 106 – Optimizer
- Compilers 107 – Optimizer Loop Unrolling
- Compilers 108 – Code Generation
Code generation is one of the last steps of the compiler. This is where the compiler emits actual machine code for the IR that was previously created.
This is the eighth post in our Compiler series. Other posts:
- LLVM Everywhere
- Compilers 101 – Overview and Lexer
- Compilers 102 – Parser
- Compilers 103 – Semantic Analyzer
- Compilers 104 – IR Generation
- Compilers 105 – Back End Overview
- Compilers 106 – Optimizer
- Compilers 107 – Optimizer Loop Unrolling
Object Oriented Programming (OOP) puts in our hands the ability to create apps in a flexible and powerful way. Xojo embraces that philosophy in the Xojo language itself, allowing us to implement code in a flexible way for reuse, extension and maintainability that reduces the development cycles. One of these language tools is, in fact, common in other low level programming languages: Casting or type conversion. If you are interested in this (and you should be), continue reading and discover what it is, why you should be interested in it and how can you use it in your next Xojo app!
Comments closed