Monday, March 24, 2008

Tiburion: A smooth Unicode shift...

Nick Hodges talks about the Unicode Shift in the new coming Delphi release code name Tiburon.
He talks about the (four) steps that were taken to get everything unicode compliant, which resulted in :

1. A new compiler with new inherent UnicodeString type
2. A new RTL using new string type routines (i.e. many new compiler helper functions in System.pas).
3. An updated VCL using the new RTL that allows the string type to easily "float" to the UnicodeString type
4. A fully functional IDE compiling with the new Unicode Compiler, RTL, and VCL.

Looks like it is going to be a smooth shift...
Anyway one of the first things coming out for the new release and an interesting read!

Thursday, March 20, 2008

What is wrong with this code?

unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm3
= class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure MyFunction(x : string);
end;

var
Form3: TForm3;

implementation

{$R *.dfm}
procedure TForm3.Button1Click;
begin
MyFunction(
'test')
end;

procedure TForm3.MyFunction;
begin
ShowMessage(x);
end;

end.

Well after using Delphi for more then a decade I would say that this code would not compile because of the fact that both MyFunction and Button1Click misses their parameterlist in the implementation section.


But in fact it is perfect Delphi code as it compiles without a problem!


Never, ever I have seen code like this before, until today in a project that I do maintenance for.


Don't try this at home, because it makes,imo, your code a nightmare to read.

Thursday, March 13, 2008

European Online Webinars

CodeGear Europe, is running (and has been running) a nice serie of Webinars. In april they are running 6 webinars about, among other things, XML, SOA and Webservices with Delphi.
Besides Delphi there are also webinars about Delphi for PHP, Blackfish, C++ Builder, JBuilder and 3rdRail.

On the CodeGear European Event Calendar you will find both, the scheduled events and playback of the recorded webinars.