One down....

| | Comments (5)

I played Final Fantasy II last night and beat the game. It's been so many years since I've beaten it that I forgot all about the ending to it! It was a blast! What surprised me is that you are supposed to beat the game when you're around level 60 or so. I kicked the end boss' ass at level 45. Well, he kicked my ass quite a bit actually... lol, for a while there I was playing with just one character. But in the end, I beat him! It was awesome!

So now that I've beaten FF 2, I think it's time for me to start playing FF 3. I mean, you can't go on an old school Final Fantasy kick by only playing one game, can you? So I'll play FF 3, and if I'm still in the RPG mood, I'll play FF 7 after that. :: grins :: I sure do enjoy being a geek.

Dad faxed me more house plans to take a look at yesterday. So I spent part of my evening looking through those. I still haven't come to a 100% decision on which house I'm going to build, but I've got a pretty good idea of it. I just need to do a little bit of arranging since I'm not too keen on some of the minor aspects of the house. We'll see!

Today's plan for work is more registration stuff. Bleh! But I found a bug last night while testing out the ICMPSocket with MemoryBlocks and declares. Declares can return Ptrs and those Ptrs can be nil. However, when you assign the Ptr to a MemoryBlock, there's a conversion that happens under the hood and it does something quite wrong. It takes a nil Ptr and wraps it in a non-nil MemoryBlock! Bleh. So hopefully I'll get that one fixed tomorrow because it's quite annoying. The other thing I may do while I'm in there is lay the groundwork for being able to declare into data pointers instead of just function pointers. Something like this:

[Soft] Declare Property data_link_name Lib "libName" [Alias "alias_name"] as Type

This way you can declare into things like errno -- which isn't a function, but is just an extern int. Speaking of errno... here's a programming trivia question for you (Mars, you can't answer this): if errno is declared as an extern int, who defines it? Basically, how does the import happen?

5 Comments

NO SEX IN THE CHAMPAGNE ROOM!!!! How about that for a rule =oP

I thought I'd reported this bug with nil Ptr return values, but a search of the bugbase suggests that I didn't. Sorry 'bout that.

No worries Charles. I've seen this bug before... but never could come up with a decent fix for it. Today was just the last straw and the bug is now fixed.

The problem stems from the fact that an Operator_Convert *from* has no way to "return" nil since it's effectively a copy constructor. You should treat failure cases in conver from like you would treat a failure case in a Constructor -- throw an exception. However, I don't think that's a good solution to this particular problem, so I modified the MemoryBlock's Operator_Compare instead. Now it checks to see whether you're trying to compare a nil object against a valid MemoryBlock that wraps a Nil Ptr along with all the other cases. So you can check mb = nil and it'll work, but mb Is nil will return false since the MemoryBlock itself isn't nil, just its representation.

Yay! No more returning an integer and checking if it is 0 :)

And request oasgpmis coming too? Wow, feels like Christmas!

That one probably won't make it into RB 2005r1 though. Just not enough time to do it along with all the other stuff. But hopefully I can get it into r2.

Leave a comment

Disclaimer

I'm currently an employee of REAL Software. My blog is mine. The opinions represented in this blog are mine as well and may not represent my employer's opinions. All original material is copyrighted and property of the author.

REALbasic® is a registered trademark of REAL Software, Inc. REAL SQL Server™ and Lingua™ are pending trademarks of REAL Software, Inc. All rights reserved.