Thursday, July 05, 2007

Some IDE Experts

Triggered by some comments in my previous post I have digged a little into some available Delphi IDE Experts.
So far I found and used (not completed tested) the following:

1. Castalia
Castalia has two comboboxes on top of the Delphi editor, with the classes and methods of the current unit, which are great for navigating your source. Another nice feature is structural highlighting, where lines are placed between the begin and end blocks of your source. A free Castalia version is available for registered BDS 2006 users.

2. GExperts
GExperts offers lots of extra functions in the editor. To name a few: Find procedure, reverse statement, replace and rename component functions. The rename component function helps you to use your component naming convention wisely.
GExperts is open source.

3. DDevExtensions
DDevExtensions offers some nice, more technical, functions. If you don't like the BDS 2005-2006 and Delphi 2007 tool palette, DDevextensions allows you to use the old style tabbed tool palette. DDevExtensions is freeware.

4. cnPack
I have not yet used it very much, but it offers lot's of functions to help you to be more productive. cnPack is freeware.

Anyhow IDE experts can help you be even more productive in the Delphi environment.

I am sure there will be more out there, so if you have/know another one please leave a comment! (I will add it to this list)

Btw if you want to make your own expert, these links are a good start point:
Experts and Wizards in Delphi (delphi.about)
Delphi Open Tools API Nice overview and tutorial by Mustangpeak.

Friday, June 29, 2007

Some IDE enhancements to consider...

The Tool Palette has this great option of filtering its content. Give it the focus (or click the filter button) and start typing. For example you will find all the type of buttons when you type 'butt'.


This is just great!

Today I had to search a unit for specific functions, and you can search the code structure with the structure pane which is a list of all the components and methods of a unit in alphabetic order.


Would it not be nice to have a filtering option on the stucture panel too? Just type 'Formc' and you have your FormCreate event.

Taking this idea a step further, also the Object Inspector and Project Mangager could benefit from such an option.

I am not sure if anybody already came up with this, but if it is in Quality Central I sure would like to vote for it. (Did not find it yet)

Wednesday, June 27, 2007

The day after...more options?

Ok, CodeGear drops Winforms. It is now clear that I belong to an exclusive group of Delphi .NET Winforms developers out there. That sounds cool, but they now have a little problem, driving their applications into the future. I am not happy about this affaire, but live goes on. Time to sort out my options.

What was I thinking, doing Winforms development in Delphi .NET?
As I told you before I use(d) Delphi .NET Winforms for only few applications belonging to the same project.
This project is a VCL Win32 project, built up in a couple of modules (read seperate applications) which I started two years ago. Why VCL Win32? Simple Delphi is VCL
The last two modules needed Gauges and Charts. At first I builded this in VCL Win32 with TMS Software's Instrumentation workshop, however my client came up with the Dundas Gauges and Charts. And he was right, these are a class on their own.
Of course this were .NET components, which I could not use in Delphi Win32. So a decision had to be made. Basically there were two options Delphi for .NET Winforms, or VS C#. (I tried to wrap them into VCL.NET, but that did not work)
Although the controls were built for VS.NET (and supported), I choose for Delphi .NET for the simple fact that I could reuse my coreclasses by sharing them between my Win32 and .NET projects.

Bringing my Delphi for .NET Winforms apps into the future
No panic, however at some point in time I probably have to upgrade my applications to 'something else' (Or I will have to install BDS2006, and .NET 1.1 framework, for the rest of my life ;-))

At this point I think that my only option is to bring the projects over into VS C#.

More options?

Saturday, June 23, 2007

CodeGear to drop winforms designer in Highlander

Early june the roadmap for Delphi and C++ Builder was published. At first sight I found it a good roadmap.
It became even better with the updated one, where the nice codename Commodore for a 64 bit Delphi was introduced.
I first became a bit worried by a blogpost of Devexpress CTO Julian Bucknall who somehow managed to read between the lines. What he read was that C# Builder and Winforms support was dropped (Kaput as he says). His exact words:

There's no mention of the WinForms designer. Indeed, as I understand it, it's kaput. You should be using the forms designer that targets VCL.NET.

Huh? Let's take a further look at the roadmap, it says:

"Highlander" is a planned release that is both a major upgrade to Delphi .NET and a roll up of Delphi 2007 for Win32 and C++Builder 2007 into the complete 2007 RAD Studio. Highlander is planned to enhance Delphi's .NET support up to .Net v2.0 including both framework, design, and language enhancements.

Delphi developers will be able to develop rich, full-featured websites using RAD techniques and ASP.NET 2.0. VCL developers will be able to easily migrate code to managed code using VCL.NET. Delphi developers will also be able to use model-driven development to drastically improve their productivity.

Specific areas of focus under consideration for Highlander are: ... etc


OK search the roadmap for Winforms and, yes, it is not mentioned. But highlights in the above quote: major upgrade to Delphi .NET, enhance Delphi's .NET support up to .Net v2.0 including both framework, design, and language enhancements

Oh well Julian must be wrong, it will all have to do with C# Builder. Dropping C# Builder, hmmm I can imagine such a decision. Because C# Builder is in fact the Microsoft C# compiler and C# syntax = C# syntax.

Well he was not wrong, in fact he had it right. After reading this non.tech thread it was all clear to me, someone asks:

Will there continue to be a Winforms designer for Delphi for .Net? Because,
that's what our ECO applications are using and we are using DevExpress .Net Winforms components. Especially, after reading Julian's blog entry of
yesterday.


and Nick Hodges from CodeGear replies:

> Will there continue to be a Winforms designer for Delphi for .Net?
No -- we aren't going to be supporting Winforms going forward.


Shock, WTF, no more winforms support???
How can a roadmap talk about design enhancements, but in fact drop it?

Delphi .NET, the history
Before I continue it is good to take a brief look at the history of Delphi in the .NET world.
Delphi entered the .NET world, announced as a first class .NET citizen read about it here. First class with everything on it. It was a evolution, instead of the revolution, so Delphi developers could embrace .NET the easy way. Well it turned out that Borland/CodeGear had to play catch up with Microsoft. .NET 2.0 support is still not here.
I remember once at a Delphi launch, here in the Netherlands, that someone asked when will Delphi support .NET 2.0? The anwser: Within a few months after its release. OK we know that a few month became a few month more, but what the hack we can wait, we want to do Delphi, also in .NET!

Finally its there, but it is crippled without the winforms designer support.

What does this mean for Delphi.NET Winform developers?
This one is not hard to answer. Delphi .NET and C# programmers will have no form designer if they move forward to .NET 2.0 and beyond. Be assured you can manually code your design (Yeah, yeah I am looking forward to that...) and compile your code. So basically they are forced to move to either VCL.NET or VS. The first option, VCL.NET, is, imo, not a real option because the lack of thirdparty components. So the only valid option looks to be, to move on to VS. This will drive those developers away from Delphi, is that the goal? I doubt that.

What does this all mean for Delphi as a product?
Well I can only write down my own opinion here, but I think it is a bad mistake. Whether we like it or not .NET will become more and more the synoniem for Windows Development. Win32 will be supported for a long, long time but from a business point of view as well from a personal point of view (jobs) you can't deny .NET when you development has a focus on Windows. You just can't.

What for appeal has a .NET IDE with only ASP.NET support?
Personally I think it is more logic to have an IDE that support both.

Is VCL.NET a true alternative for Winforms?
I don't think so. I don't know if it is used often, but it seriously lacks thirdparty support.

I think that Delphi will continue to be strong on native Win32/64, but its .NET participation will decline.

What does this mean for me?
I always tried to pick the right tools for the right job. At this moment I do projects in Delphi 2007 Win32(60%), Delphi .NET(10%) and Visual Studio 2005 C# ASP.NET(30%).
In the long term I will probably move my Delphi .NET applications to VS C#. Fortunately they are not that big, but it will cost me some time. I think it is a pitty, because VS2005 has also it's quirks. Even now I find that Delphi .NET (the IDE) has some advantages compared to VS. (Still can't get used to the endless list of tabs in VS)
Delphi will stay to be my number one tool in the Win32/64 native development world, but on .NET it will be another story.

The roadmap
Nevertheless the roadmap has some great things for the near future (Unicode, Win64). However I find it a bad sign that the roadmap is not clear on the Winforms departure, which has great impact on the developers using it.
It seems that messages from CodeGear now, and Borland in the past, are still driving confusion, and that will affect its customers, and eventually CodeGear self.

Sunday, June 10, 2007

Trouble installing update #1, frozen Collecting Information page?

Installing Delphi update #1 on my desktop machine was smooth and rather fast ( less than a hour). On my laptop however it was a different story. :-(
The installation was "frozen" on the Collection Information page. Something that took only 5 seconds or so on my desktop PC.
After waiting for 3 hours I killed the process and downloaded the 700 Mb installation from CodeGear here.
Again all "hanged" on the Collecting information page. Having not that much patient anymore I killed the setup process within a hour.

Fortunately Robert M. Lincoln had just posted a thread in the non-tech that he had the same problem and solved it by disabling all the startup apps using the MSConfig.

(3) This time, I ran MSCONFIG, and disabled allstartup programs (using "Selective Startup", uncheck"Load startup items", leave checked "Load SystemServices", "Use original boot configuration" is checkedand greyed out). After rebooting, I ran as in (2) aboveusing the DVD from the ISO file.This time, success!

Installation was just as fast as on my desktop PC! :-)
Now wondering what app blocked the installation?

Saturday, June 09, 2007

Delphi / C++ Builder roadmap

The Delphi and C++Builder roadmap is available on the Developer Network.

Basically it drills down to this:

Second half 2007: Delphi "Highlander"
Containing support for .NET 2.0 en .NET 3.0 compatibility. All personalities will be in the Rad Studio 2007.

First half 2008: Delphi "Tiburón"
This version is about Unicode and Generics

Somewhere in 2009: Delphi "Tiburón +"
Native 64 bit support (VCL for Win64)
Support for multi-core/multi-threaded development

The direction of this roadmap seems to be OK. But that all depends strongly on what technologies you use. Overall I think it is a good roadmap.

All the details in the roadmap.

Thursday, June 07, 2007

Delphi 2007 update #1 is available

Delphi 2007 Update #1 is available for registered Delphi 2007 users. It will come through the automatic update function, or in the traditional way as a download here.

As you can see the update will uninstall you current Delphi 2007 installation, and then reinstall the one with the update. First question that raises is:

Now I will have to reinstall all components again?

The answer is No, you don't have to reinstall all components, as stated by Nick Hodges in this non-tech newsgroup thread. His exact words: "Nope -- all your settings will be retained. " .

Another tip, have your serialnumber available, because it is required for the install. (In case you are at home and the serials are in your office ;-) )
Updated: Argg I did not read the Installation notes properly, as Dave Keighan says in the comments it is not necessary to have your serials. (Only for new installation I guess) I could install update 1 immediately after all. ;0

More info in the Installation Notes for Delphi® 2007 for Win32® Update 1 document.

Monday, June 04, 2007

Delphi 2007 update #1, coming soon

Chris Pattinson posted the QC list for the Delphi 2007 Update #1.
More then 300! fixes is this update.

Read the complete list at this CDN article.

The update should come automatically for registered users through the new installer function, "Check for updates"

Thursday, May 24, 2007

So what are generics anyway?

A lot Delphi developers 'demand' generics to be added to the Delphi language, or should I say Object Pascal. Question that pops up is, What are generics anyway?

Generics where introduced in .NET framework 2.0 in the C# language. Simply said they are collections(lists) which are type safe, i.o.w. you can detect type mismatches at compile time. With other structures (arrays etc) you must check the type in runtime and then type cast to the appropiate type. So generics will make your apps more robust in a way.

Lately I have used the C# language a lot so I learned the power of generics.
Let's take a look at it!

A generic list is declared like this:
System.Collections.Generic.List<MyItem> MyItems;

Between the brackets you specify the name of the class which will be hold by the list. The compiler expects objects of this type. If you add a different type you will get a compiler error.

An example:
Suppose you have a class MyItem which looks like this:

public class MyItem
{
string FName;
public MyItem()
{
}

public string Name
{
get
{
return FName;
}
set
{
FName = value;
}
}
}
You can now fill the collection(or should I say List?) FItems like this:

MyItem Item = new MyItem();
Item.Name = "First";
FItems.Add(Item);
MyItem Item = new MyItem();
Item.Name = "Second";
FItems.Add(Item);
We now have a list with two MyItem objects.

You can search within the list using the Find and Findall methods.
Suppose you want the second object you could find it like this:

MyItem SearchedItem = MyItems.Find(delegate(MyItem SItem)
{
return SItem.Name == "Second";
});
Through a anonymous delegate it returns the object which matches the criteria. The Findall method returns a list with objects, for example all objects where a specific attribute matches.
There is a lot more to explore, for more information look at the MSDN website.

Generics and Delphi
Generics are planned for the Delphi Highlander release, later this year (Roadmaps coming in june!). In september 2006 Nick Hodges showed at the EKon 10 / BorCon Europe conference a preview of the syntax. Bob Swart has published a few notes about it here.

Wednesday, May 09, 2007

Delphi for PHP Update 1 is out there

Delphi for PHP update 1 is out!

According to the CDN article fixes in this update are:

-Fix to the IDE to ensure correct storage of UTF-8 strings in the .xml.php
-Fix to VCL for PHP to parse .xml.php in UTF-8 mode
-Save Project As... fixed (QC 43580)
-Updated sourcecode documentation for the VCL
-Fixed problem with PHP 5.2.1. The Input Filter extension is out of beta and function for filter data was changed to a new name, so Input object now takes that into account (QC 43607)
Fixed problem with vcl-bin folder. The alias is set to be a root alias, making it easier to configure on deployment
-Added global var to specify if properties are html_decoded when read from the .xml.php
-Corrected support phone list .txt file

Go get it here.

Tuesday, May 08, 2007

A hyperdrive factory, or how to get a cat out of a tree

Steven Trefethen has very good blogpost about the endless stream of new technologies coming from Redmond.

He says:
Will there ever be some sort of stabilization period where apps can mature and the technology settles into a known state where developers are comfortable about the foundation from which their working?

It definitly is very difficult to keep up with all the new stuff, before knowing the 'old' stuff entirely.
(.NET 1.1 stuff is suddenly 'deprecated' in .NET 2.0, oh well move on...)

He asks:
What about you, how are you dealing with all of this? Or are you dealing with it?

Well not really. Although I keep an eye on the new technology and occasionaly play with it. But mostly, I think, it is better to watch the cat out of the tree. (That is a dutch saying "De kat uit de boom kijken") It basically means you can do a lot to get the cat out of the tree, but if you wait a little longer the cat may decide to come out of tree itself.

And you know what?
The more things change, the more they stay the same!'

Wednesday, May 02, 2007

It must be spring...

It must be spring, it looks like everyone (not an understatement here ;- ) ) is cleaning/pimping up their website.
CodeGear launched yesterday their new website, with their new logo. Content looks the same, but I think it looks great!

Also Delphifeeds.com changed the look of their website, providing more functionality like a new Delphi forum.

Great work guys!

Wednesday, April 25, 2007

On with Delphi 2007, BDS2006 Win32 personality retires from the scene

Well I finally converted all my projects from BDS 2006 to Delphi 2007. As promissed by CodeGear there were no fatal issues involved because of the so called 'binary compatability', Besides the usual stuff like installing updated third-party libraries and adding search pathes etcetera everything worked fine.
It is a good thing to make an installation protocol, because installations of the package (sometimes) need to be installed in the proper order. A protocol makes the process even smoother. (It is scary how fast you forget the installation order)

One issue I have had was a problem with the Help after installing my devexpress components. After installing these components there is an issue regarding the Filtering in the Help which then shows only the devexpress help, which is a pitty because the Delphi Help is so much improved. Fortunately Devexpress has an temporary solution which you can find here. (Issue AB12388)

All with all a smooth transition with no fatal ('Oh oh......') moments. ;-)

Now I only use BDS2006 for my .NET related projects. It is a bit strange to have two seperated Delphi's again just as with Delphi 7 and 8, but BDS2007 is on its way so that should be temporary.

Update: I noticed that BDS2006 is not shown in the taskbar. I am not sure that this has to do with the installation of Delphi 2007. Easy to solve anyway, minimize once and it is back.

Friday, April 13, 2007

Back to Delphi 5

Well I am back to Delphi 5. I have had it.......;-) No, no, just kidding :-).
I am very happy with Delphi 2007, but for a new project, I should say, a new, exsisting project, I will have to use Delphi 5. This project has some librarys in Delphi for which the source code is not available so there is no choice for the short term.
Delphi 5 was released around 2000 as I recall, so that was somewhat in the Windows 98 erra. I installed it on a rather old machine with XP (PIV 2,4 GHz, 512Mb)
First thing I noticed was its speed. Wow this runs fast on a clean installed machine. With no libraries installed it runs like Formule 1 car!
And yes component templates already exists in Delphi 5 just as incremental searching.

Well it is fun to step back in time, but I instantly miss the most of recent added features like Tool palette filtering (there are a lot tabs in the old style tool palette), code templates, refactoring etcetera. Will plan for upgrading the project soon :-)

Monday, April 02, 2007

D4PHP database connections with ADOdb

In my quest to setup a DSN less connection to an Access database I found ADOdb on sourceforge which apparently is used by Delphi for PHP.
Here you will find lots of information on getting connected to *any* database.
See this nice overview with all possible database connections.

Update 3-4-2007:
You can setup a DSN less connection to an Access database:

Database.DriverName = "access";
Database.Host = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\phptest\phptest.mdb;"

This should also work, using the jet OLDB provider, but somehow it did not work for me:

Database.DriverName = "ado_access";
Database.Host = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=c:\\phptest\phptest.mdb;USER ID=;PASSWORD=;";

Saturday, March 31, 2007

D4PHP a first impressions review

As a non PHP programmer, let's say a PHP rookie, I was excited that Delphi for PHP hit the doorstep this week. I always wanted to use/learn PHP but for several reasons that had not happen, until now. Delphi for PHP seems to be a very good start point for learning PHP as a Delphi programmer.

Installation
Installation gave, as expected, no problems. The installation is a little different to Delphi 2007 for Win32 which we now might consider the sister or brother of Delphi for PHP.

Using Delphi for PHP
After starting Delphi for PHP you will feel right at home because the IDE is almost similar to Delphi 2007. It is all there, the Code Explorer, the Object Inspector, the Project Manager and the Toolpalette. Also the welcome page is present.
The look and feel is the same, however the working of some elements are slightly different compared to Delphi 2007. (For example Code Insight and debugging 'feel' different)
Delphi for PHP comes with a lot of samples. The sample projects are located on a, not that, obvious location namely "C:\Program Files\CodeGear\Delphi for PHP\1.0\VCL\Samples". After some searching I found this link via the "Sample and Demos" link on the Welcome page.

The componentset, offered on the Tool Palette, is amazingly similar to the Delphi 2007 standard set. You will recognize lots of components, from Button and Edit, to Actionlist and PageControl. Also the Database control, like DataSource, Table and Query are available.
This really gives Delphi programmers a headstart!

My first PHP webapplication
OK, time to build my first PHP application.
Armed with my free PHP 5.0 power programming book I started some basic coding. PHP syntax is similar to C syntax, but that is another story. Using the VCL and its controls is a known experience:
Drop a Listbox, drop an Edit and a Button, double click the button and the ButtonClick event appears in the code just as in Delphi. The IDE is a little slow on drawing the controls on the design interface, but it is not disturbing me.
Debugging the code is easy although it does not show parameter values in a hint when placing your mouse on it. I suppose this will be improved in later versions.

Where is the HTML?
Using ASP.NET HTML is immediately generated on the design page. In Delphi for PHP you will not find any HTML (at least I did not find it yet, is it there?).
At first it is a bit strange and scary that there is no HTML (we are building a website, aren't we?) and gives you the feeling that D4PHP is mainly for pure application type websites instead of fancy HTML websites.
But D4PHP offers a template model for HTML files which can be used to "inject" your PHP components and code into HTML.
Big difference to ASP.NET, but I think I may like this. It seems to divide code and layout even more then ASP.NET. (First impression, have to investigate this much more)
Nice side effect here is that the IDE can't mess around with the HTML which happens a lot when you use ASP.NET IDE's like Delphi or Visual Studio.

There is a nice template demo in the sample projects which shows this technology.
A HTML page with D4PHP injected PHP looks like this:

{$lbMessage} is a label on your PHP page, just as {$RichEdit1} and {$btnSendContens}. On your page you code the button click, in this case the text of the RichEdit control is placed into the label lbMessage.

When the application runs the PHP controls are injected into the template and code runs just normal.

Looks pretty flexible to me.

Using databases
D4PHP offers a, almost endless, list of possible database connections. Two of them, MySQL and Interbase, are supported by the Data Explorer, and can be used to drag-and-drop database connections, tables and fields.
I tried to setup a connection to an Access database which I happen to use for my website, but I have not yet been able to get it to work.
HELP (F1)?
Press F1 and help is executed immediately. The Help however is a bit dissapointing. It is context sensitive and finds the right property, but gives information like this:

This is getConnected, a member of class Database

Well we knew that, didn't we? We would like to have information on how to use it!
A good alternative is the sourceforge help which seems to give more information.

Conclusion
Delphi for PHP is a real member of the Delphi family. The IDE and VCL will be very familiar to Delphi programmers. Coding in D4PHP is like coding in Delphi, quick, clean and easy.
Its alternate approach (I compare this to ASP.NET) is refreshing and the more I think about it the more I like it! Using Templates with PHP injection seems to be a very flexible and clean solution.
The help and documentation is not good and needs huge improvement.
Considering that it is a 1.0 product I think it is a great piece of work. It inspires me to dive into PHP 'the Delphi way'.


Wednesday, March 28, 2007

Wow! This is VCL

CodeGear released this week Delphi 4 PHP. Read the press release.
Today I found out that the documentation of the Open Source class library, which Delphi uses, VCL for PHP is available on SourceForge. You can find it here.

A quick scan shows that this is VCL as we know it!
Object, Persistent, Control they are all there!

Can not be to difficult to learn PHP this way, can it?
There is also a one day (One day?) trial available for download here.

Friday, March 23, 2007

Trouble viewing blogs.codegear.com on Vista?

Recently I discovered that I could not view the blogs.codegear.com website on my new (very fresh) Vista computer. It was not IE related because also in FireFox the website was not shown. After setting virusscanner, firewalls, parental control(?) on and off it still did not work. (Bummer :-$ )

Finally I asked in the delphi.non-tech newsgroup, and guess what? As always it was fortunately not just me, but a common encountered problem. :-)
Thanks to Roddy Pratt I finally found the solution, which also comes in play by registring Delphi 7 and Delphi 2006. You can find the solution on the Borland support site.

I don't know what the exact problem is but it looks like a TCP/IP problem between Vista and the CodeGear server. It is very strange that some Vista installs do not have this problem. More information on this issue through Google.

By the way, just found out about this new dutch Delphi for PHP forum http://www.delphiforphpforum.nl/ (in dutch)

CodeRage session replays available

Did you miss a few sessions on CodeRage? I know I did.
Well that is no problem: The CodeRage session replays are now available on the CodeGear Developer Network.

Tuesday, March 20, 2007

My 5 favorites in Delphi 2007 for Win32

OK, so I have been blog-tagged by Pawel Glowacki to tell about my 5 favorites in Delphi for Win32.

To make my life easy I could list all the things that already have been listed by several bloggers, and beta bloggers. Here is a quick list of favorites I could come up with:

1. Delphi's speed
2. Delphi's stability
3. The improved Help system
4. The new DBX4 architecture
5. The new build system
6. The Vista readiness
7. The improved memory manager
8. The improved tool palette filtering
9. The enhanced welcome page
10. The new installer

But that would be too easy, wouldn't it? Yes it would, so I go for an alternate approach:

My 5 favorites in Delphi 2007 for Win32:

1. Confidence
Delphi 2007 is one of the many signs that things has changed (and are probably still changing) at Borland/CodeGear. These guys are really listening and working hard to give us the tools we need. This only makes an upgrade worthwhile. I agree 100% with this thread A vote of confidence (started by Estaban Pacheco)

2. Quality
And I not only mean the quality of Delphi itself, but it allows me to supply my customers with first class robust, fast and high quality applications. OK, Delphi has had some 'dark' versions, they were gone with BDS2006, but will be vanished with Delphi 2007!

3. The 'built in' ability to beat my competition

Delphi always gave me a great benefit compared to my competition. Never ever have I made an application as fast, and as good (see point 1) as in Delphi. In Delphi 2007 this has (again) increased!

4. Fun
Programming in Delphi is fun, sometimes it looks like no work at all. That's been for 15 years now and it still continues with Delphi 2007!

5. The bright future
VCL, VCL.NET (the bridge to .NET), Delphi for .NET 2.0 (planned for mid 2007), Delphi for PHP. Should I continue?

Well that's it! Now I tag the following persons:

1. Bob Swart (Dr. Bob)
2. Robin (Turbo for Noobs)
3. Nick Hageman (Where are the posts?)
4. Marco Breveglieri
5. Ace Breakpoint (Hope you still use Delphi Ace!)

Use an image as your UIBarButtonItem

Using an image as your UIBarButtonItem in your navigationcontroller bar can only be achieved by using a common UIButton as the BarButtonItem...