thecave


My hideout on the Internet

Take the Delphi Poll

Share your feedback on Delphi with Borland’s latest Delphi Poll.

Continue reading →


Update on Interfaces in Delphi

After taking a break from the laptop I was able to get a much better handle on interfaces in Delphi. And I was able to implement the design I wanted. It’s not as slick as in C# but it works. And the code is readable, which is important to me.

I was returning a TObject when I should have been returning IInterface. After seeing the code it makes sense to me why my use of TObject was causing problems, and why I was trying to cast an interface from an object, which now I see was not needed.

Continue reading →


Key Binding in Help File

I recently posted a list of Delphi key bindings. I discovered most of the bindings through trial and error or by inspecting the various menus. I had originally I searched the help file and browsed the help file index but I couldn’t find the list of key binding. I never thought to look under the contents. I figure if I can’t find it in the index or search it must not exist. But it does. I think I need to spend more time browsing the help file through the content tab and not rely so much on index and search.

Continue reading →


Argh!

The way interfaces work in Delphi for Win32 stinks. From what I have read it seems that interfaces were forced in to work with COM. But even if you are not using COM, interfaces imposes COM like behaviors such as ref counts and interfaces must have a GUID. But what really ticks me off is that you cannot cast an interface to an object.

For years I have abstracted framework and application features through interfaces. Now I can’t use them and it means I have to change the way I think. This limitation, which I wish I knew about 2 months ago, makes me think I should have used C# for my app.

In the end, I will be happy with my selection of Delphi. But I’m a bit ticked off at it for the moment.

For those using Delphi for .NET, this will not be a problem. Interfaces work the way you would expect, and you can cast objects to interfaces and interfaces to objects.

Continue reading →


Who is Shawn Murphy

After being off of IM for the last few weeks, I finally got around to re-installing Trillian. (I still had not installed it after my last hard drive crash.) I was happy to see a new version since I had been running my registered copy of Trillian Pro 2.x for the last few years.

The new version includes a Wikipedia feature. It will display the Wikipedia description when you mouse over certain works and phrases. But it’s not perfect.

I mentioned a buddy of name Shawn Murphy. To my surprise there was a Wikipedia desription for have name. “Shawn Murphy (born July 27, 1951 in Charlottetown, Prince Edward Island) is a Canadian politician. Murphy is a current member of the Liberal Party of Canada in the Canadian House of Commons,…” I’m not sure way but I found this to be funny.

The Wikipedia feature is a neat idea, but I’m not sure how useful it will be for me.

Continue reading →


Upgrade to VMWare 5.0

For over a year I have been running my primary development environment in a guest OS using VMWare Workstation 4.x. I run in full screen mode and I don’t even notice that I am running under a guest OS.

Tonight I installed the new VMWare Workstation 5.0. I haven’t run it through the ringer yet but I like what I see so far. Guest OS seem to run faster and network communication is definitely much faster. The old virtual NIC was only a 10mbps. The new one is 1gbps, which is noticeably faster. Although I haven’t played with it, I’m excited about the multiple snapshots feature. There’s also a new clone feature that I need to read up on. In my opinion existing 4.x users will want to upgrade to 5.0.

Continue reading →


Trillian and Wikipedia

I was wondering how does Trillian select words and phrases for Wikipedia look ups?

Continue reading →


Going Back is Hard

Going back to a programming language that you have not touched in years is hard. Syntax is easy, it comes back quickly. But trying to remember all the details, runtime library calls, and so on can be a real brain buster. And add to that that Delphi has had many improvements since 2000 in its VCL and runtime library.

It’s funny how knowledge will leak from your brain when the knowledge hasn’t been referenced in years. It’s like opening a jar of whatever that hasn’t been opened in years only to find that much of the content has evaporated.

Continue reading →


Past Repeating Itself

I have started work on the application framework for Vertigo. Well sort of. [Vertigo is the code name for the product I have mentioned a couple of times over the last week.] I have a very nice framework implemented in C# that has evolved over the years, but Vertigo is being written in Delphi. And now I face the hardest part…starting with an empty palette.

Continue reading →


NYC Geek Dinner Monday Night

Robert Scoble and Steve Rubel are organizing an NYC Geek Dinner Night for Monday, May 2. Details can be found here. I'm thinking about going.

Continue reading →