Ok, so here's another great batch of trivia questions for you 1) What was the codename for the Linux framework project? 2) What product feature was a technology preview for the new compiler? 3) What's the only UI element I was ever in charge of drawing? 4) Who was the first person to purchase REALbasic (yes, this is public knowledge)? 5) What did REALbasic's original logo look like?
May 2006 Archives
So one handy thing about computed properties is that they show up in the debugger's variables pane. But that should also raise a little red flag in your mind. If it's showing up in the variables pane, it means that there could be code executing which you don't intend to have execute. The debugger has to execute the getter for the computed property, so you need to watch out for unintended consequences. Let's take this as an example. You have a property called Temp whose value is 25 (I have mine set in Window.Open). You have a Computed Property named
I hope everyone has a safe and fun long weekend (for those of you in the states)! I plan to get some more work done around the yard/house. I got my perennials put in tonight (seven of them), but I've got a lot of house left to cover. So I may go poking around the local nurseries to see if I can find any shrubs to put in. I also want to pick up a few flowering crab apple trees as well. I've got to finish plumbing the sandpoint in this weekend, which shouldn't take too long. The pump stand
This is a bug that's bothered me for a while because it seemed so random to me: the mask for a TrayItem was sometimes ignored, even though you could draw that same picture to a Canvas and it would display fine. So it turns out that the issue was with a call to the Win32 API CreateIconIndirect. This handy function allows you to create an icon (or a mouse cursor) by specifying the bitmaps for the image and the mask. Since the underlying OS support for tray icons deals with an HICON, I needed to convert a REALbasic picture object
Since my brain hurts lately from the massive amount of UI work I’ve been doing, I’ve not had much time to post anything terribly interesting to REALbasic users. Usually, by the time I get the chance to blog, I’m coded-out and have no real interest in talking about RB more. Also, I feel like I’ve covered “everything.†I hate running out of things to say about as much as Thomas hates hearing about my day-to-day life. ;-) So I’m going to try something new and see how it goes. I’m wondering what you want to know. Any nagging questions about
It's been a while since I've done an RB Gem, so here's one for you. In VB, there's a built-in function called Shell which launches a command line process and then returns a process identifier for you to use. A lot of times this is used in conjunction with the AppActivate to bring the app to the front, and the SendKeys to modify the application. Now you may be thinking "why can't I just use the Shell class in REALbasic?" You're absolutely correct, you can use that. But if you're porting your VB app over to RB, then you may
Man, that took a lot longer than I had hoped -- it took forever to get this alpha out because every time we'd get close, we'd notice another one of those "oh, shoot, let's just fix that" issues. Almost all of my new UI changes are in, which is pretty spiffy. I understand that one of them still needs a bit more work (at least, that's what Dave tells me) because of exceptions and such. But I'm pretty sure my major stuff is almost done. I still have some minor tricks up my sleeve, but I am almost back to
This weekend was both great and painful. On Saturday I was at Adam's awesome LAN (for about 10 hours). Played a bunch of BF2, Serious Sam and even some Counter Strike. I forgot how much I loved CS, and how bad I've gotten at that game. We had a blast playing it, but the bots kicked our ass. :-P So my Saturday was spent kicking back and relaxing. I prefer to call it "prepping myself for the pain" on Sunday. Yesterday I pounded in two shallow wells by hand. Got up at 7am, started getting ready to face the day.
So I bought Battlefield 2 today so that I could participate in the LAN fun tomorrow at Adam's place... unfortunately, it seems as though BF2 will not work when you use a PS2->USB adapter. The way the game queries for keyboard information, it simply won't respond to keyboard input that's been piped thru the adapter. Since I have no USB keyboard or mouse (only PS/2, thanks to my KVM switch being PS/2), this rather much pisses me off. Everything else (including other games) don't have an issue with this setup. Just BF2. For those of you interested in what I'm
Betcha didn't know this one. You can right-click on a line in the variables viewer and change how the value is viewed. This change is then remembered as a preference, so whenever the debugger encounters that variable again, it displays it appropriately. You can view numbers in Hex, Oct, Bin or Decimal. You can view colors in HSV, RGB (hex or decimal) or CMY.
Have you ever needed a scratch buffer for doing graphics operations? Something that you can use for double buffering, for instance? Here's a handy tip to speed your applications up by reducing the number of times you need to make a new scratch buffer. [rbcode] Function Buffer( width as Integer, height as Integer ) as Picture static temp as Picture if temp = nil or temp.Width temp = new Picture( width, height, 32 ) end if return temp End Function[/rbcode] The beauty of using code like this is that the buffer storage is only created if it currently can't meet
Oye, I took part of the day off today to get some chasing done that I just couldn't get done this weekend (was too busy with personal things to do much this weekend). Yoiks was it a spendy day! First, I got up and worked until about noon. More on that in another post (let me just say that alpha 3 has some large UI changes in it that I've been working on for the last few weeks -- hopefully people will like them). Then I went over to Amcon block in St Cloud to pick out my landscaping block.
Sad day! I just learned that the area Meeting Grounds have shut their doors. I used to go to the one downtown on a weekly basis. It was a lot better than the Java Joint! I'd go there with Dana to play card games until they kicked us out. :-P Or I'd meet up with random kids from Tech (I remember one's name was Aaron as well, and the other one was a Dalton) and play Magic. Or I'd go hang out there with friends from Sartell. It was also a place I used to take my dates on occasion
Keeping in line with my previous ethical question, I've got a new one. Are companies part of the community? Should they be? Should a company's policies be catered towards how the community benefits, or not? And by community, I mean the local people around where the company is established, as well as employees, customers, etc. The world, essentially. :-) This question can be asked and answered many different ways. For example, a company has a responsibility towards its shareholders and should be doing things to make them happy. Those shareholders are part of the community. Likewise, the customers who buy
So I'm just curious to know what people think my obligations as an "expert" on the forums should be in a particular case. If I have knowledge in a particular area, should I always be required to share that knowledge? Should I only share it if I have the time? What about if I like/dislike the person? What if I like/dislike their project? What if I feel the information could be abused? For instance, let's say a user asked a question like "how do I do disable Functionality X of the OS?" and I know the answer. Do I have
Riffing off yesterday's post about a gotcha with computed properties, I want to spell out another uncommon gotcha that sometimes bites the unwary. When you make a static local variable, you have to remember that it means this value is shared across all instances of the class. So if you have multiple instances of the class all calling the same method, using the same static variable, it can be set in ways you may not expect. Let's take a look at what I mean. Make a project, and drag a StaticText onto Window1. In the MouseDown event, put the following
They contain a gotcha which is very logic, and very easy to overlook if you're not careful. Most people tend to think of a computed property as the same thing as a regular property. And in many cases, this is acceptable to do. However, you need to watch out for reference counted return types! Let's say you've got the following computed property: [rbcode] Property Foobar as Dictionary Get return new Dictionary End Get Set End Set End Property[/rbcode] Looks rather innocuous, doesn't it? But it's not -- it's hiding a nast bug. Check this out: [rbcode] someClass.Foobar.Value( "testing" ) =
Holy hannah was today a productive one for me. I went out last night, and didn't make it back until the wee hours of the morning. Went and watched Plan B play out at Trobec's in St Stephen. Very good show -- I'd highly recommend checking them out if you're in the area. Needless to say, I woke up a bit groggy this morning. ;-) So after rolling out of bed a little after 10am, I decided to hit the ground running. I got up and got the lawnmower working for the season. It took a bit of jiggery to
So 110 hours into the game, I decided, "hey, it's time to play this main quest thingy some more." Heh. So off I run into the main oblivion gate to go get some big, powerful sigil stone, and what do I find out? I have a time limit! I hate nothing more than time limits in video games. It's the only time I ever feel pressured to actually DO anything. I like to smell the roses and go find stuff, so giving me a time limit really bugs me. But whatever. So the I realize that I'm basically in a
So I've been playing Oblivion for... way too long now.... and I just realized something last night. In the entire world of Tamriel, there's not a single child. No babies, no toddlers, no kids running around. I met an orphan once (who was a beggar), but he had grey hair. I think the entire nation is going to die off due to a lack of procreation. They're so busy worrying about the Oblivion gates opening up outside their towns (while not actually willing to do anything about them, they're still quite concerned) that they plum forgot to make babies. While
For all you old-timers out there (like me, lately), who remember the fun days of computing back in the pre-GUI days... the REALbasic IDE has features which will take you back to younger days. Shift+Delete is the same thing as Cut Shift+Insert does a Paste Ctrl+Insert does a Copy Those shortcuts have been on the PC platform since the dawn of time. Who here remembers them? The IDE also supports the Insert key itself to do type-over functionality, woooo! Are you impressed yet? If not, then read on for more hidden key shortcuts that the code editor supports. Ctrl+Home goes
So it's been raining here since last week (about Friday sometime). Not a good thunderstorm-type rain, but just one of those nice soft ones. Reminds me of when I lived in Redmond and it was like this for months on end. :-P What's strange is, the dreary scenery never really bothered me when I lived there. Boy was that a pretty place to live; very green. very alive. If you've never been to the Pacific Northewest of the US (or Canada), I'd highly recommend going for a visit sometime. I got a lot of stuff accomplished this weekend around the