What’s Your Least Used REALbasic Control?

I was reviewing my list of REALbasic training videos the other day to see what I had missed.  At the top of the list were the DataControl and DatabaseQuery controls.  Technically, the DBQuery isn’t a control, but you can put it on  the window like one, but for the sake of discussion we’ll include it.

I think I gave up on those controls about the same time I gave up on a binding (which is no longer part of REALbasic).  While I think they have their place, I sort of look at them as being too basic and too simple for most of my needs.  There’s nothing about those two controls that is favorable in my mind.  I duplicate their functionality using my own code and have far better control over the results.

Will I do training videos on them?  Probably, because it makes the set more or less complete.  As with some other controls and classes that I haven’t used much in RB career I’m sure I’ll learn something by doing the videos.  Perhaps I’ll change my mind.

Some controls, like the OpenGLSurface, the various sockets, and RBScript objects aren’t used very often either, but when you do they are very powerful and can do a lot of things.

Here’s my list of controls that I’ve never used in any REALbasic project (that I can remember):

  • DataControl
  • DatabaseQuery
  • ImageWell
  • NotePlayer
  • Placard
  • Spotlight

I was tempted to include the Microsoft Office objects, but I’ve used them in a couple of Windows-only projects.  My only beef with them is that their documentation and examples are unbelievably bad.

What is your least used or least favorite control in REALbasic?

13 thoughts on “What’s Your Least Used REALbasic Control?

  1. Bob,
    I note your lack of use of Imagewell and I guess that’s because you have alternatives?
    I am a subscriber to your video training and it would be great to see something on image well or whatever is better.

    I use the word “better” in the context of my programming noob status and the sort of thing I want to do – which is similar to the Database example that comes with RS 2010 version 1 – which seems a rather elegant program to me. This uses Imagewell to display an image of products culled from an inventory listing and I want to do the same for a simple home inventory database as a learning exercise. I have one I did in FileMaker but I’d like to replace it.

  2. @Chris Knight
    Instead of the ImageWell, I use the Canvas control. Scaling an image to fit in the canvas is easy (though it’s not tough on the ImageWell either) but I use the canvas for a lot of stuff and is pretty powerful. The ImageWell not so much.

    I guess with all things, if the ImageWell works for you, then use it by all means. I just bypass it because I almost inevitably need do something different than that the ImageWell is good at. Need to zoom in/out, or scroll the image, or do something complex with the image? The ImageWell doesn’t do any of those but the Canvas can do it easily (with a little work).

  3. @Aaron Ballman
    I would include the rect, oval, line controls as well, but I think they’re useful in some situations. You *can* do the same thing with the canvas control, but they’re not nearly as convenient. The thing to remember is to not layer these controls.

    HTMLViewer is another argument entirely. I REALLY want a cross-platform webkit browser control!

  4. Wed’ all love webkit everywhere
    Perhaps someone can pry the magic dance out of Apple to figure out how to get it to build cleanly on Windows 🙂

  5. In my line of work (mostly graphics and animation programming), there’s a bunch of controls I have not needed. I once used the ImageWell because it gave a professional look to one of my programs, but fund it to be a pain, so I switched to a Canvas. I never used the SpriteSurface, opting to use TinRocket’s SuperSpritesurface instead.

    I’ve also never used the DataControl or DatabaseQuery controls, using straight SQL for more flexible code.

    On the flip side, my _most-used_ control? Canvas.

  6. Fun topic! My never used controls are (in nor particular order 🙂 )

    * BevelButton (due to ugliness on Windows I use PictureButton)
    * DatabaseQuery / DataControl
    * HTMLViewer (completely use-less)
    * MoviePlayer / NotePlayer
    * RbScript (Never used, never will – MBS PHP is a perfect alternative)
    * SpotlightQuery

    Most used:
    * Canvas
    * TextField
    * StaticText
    * StyleGrid
    * WindowSplitter

    The Canvas control is the workhorse and I would consider renewing my RB license the day the Canvas can preview its content in the IDE. I create buttons, checkboxes, radio-buttons and images with the Canvas but designing the UI in the IDE is a pain as they all show up as blank squares…

  7. @Aaron Ballman
    I’d love to have an event IDEPreview that could be executed by the IDE while designing and then be stripped out at compile time. Even if the IDEPreview event would be extremely limited (say not being able to call other subroutines and limited to x seconds of execution and y bytes of memory – such as PHP is possible to limit) I would use the Preview event to just draw a box and the text: “Button” with the name etc…

    Running the fullblown Paint event would probably be dangerous and is something I probably never would like. The IDEPreview event would greatly increase my personal productivity.

    @Bob Keeney
    great idea. My cheat is to print a screenshot of the compiled app, write the name of the controls with a red Sharpie and hang them on the development whiteboard. When I work on a particular window I take the paper to the desk, make changes, prepare a new screenshot and hang it back on the whiteboard when done. The problem is if you are on the road…

  8. I’ve used NotePlayer in a couple of algorithmic-composition projects. It’s hard to imagine using it in any shippable product, but I probably wouldn’t have started the projects at all if I’d had to work out how to drive CoreMIDI first.

Comments are closed.