Membedah Delphi 2007 for Win32

April 6, 2010 at 5:33 pm | Posted in Opinions | 6 Comments
Tags: ,

Zamrony P. Juhara

(Catatan: Artikel ini terbit pertama kali di majalah PC Media 05/2007. Topiknya sudah usang menurut saya karena Delphi sudah rilis hingga Delphi 2010)

Pertama kali saya ditawari PC Media untuk mengulas Delphi 2007 for Win32, saya langsung tertarik untuk mengulasnya. Salah satu produk Integrated Development Environment (IDE) milik CodeGear yang berkode nama Spacely ini, mendapat respon yang lebih baik dibandingkan pendahulunya Borland Developer Studio 2006 (BDS2006).

Sebagian besar opini publik yang saya baca di Internet, berpendapat positif mengenai IDE yang dirilis Maret 2007 ini. Pendapat sebagian besar pengembang yang telah mencoba versi beta-nya menyatakan bahwa Delphi 2007 for Win32 jauh lebih stabil dengan penambahan berbagai fitur baru, terutama yang ramai digembar-gemborkan CodeGear adalah dukungan terhadap teknologi terbaru seperti Vista dan AJAX serta konektivitas database SQL terbaru melalui DbExpress 4.

Instalasi

Versi trialnya dapat Anda download dan gunakan gratis selama 14 hari. File installernya berukuran sekitar 4.7 MB, sangat kecil bila dibandingkan dengan instalasi BDS2006 yang membutuhkan hampir 4 CD. Untuk alamat di mana Anda dapat mendownload silakan baca “Lebih Lanjut”. Sebelum Anda dapat mendownload Delphi 2007 for Win32 versi trial, Anda diharuskan mengisi survey. Untungnya, pertanyaan di survey ini tidak terlalu banyak.

Delphi 2007 for Win32 mengharuskan Anda menginstall Microsoft Data Access Components (MDAC) 2.8, Microsoft .NET Framework 2.0, Microsoft Visual J# 2.0 Redistributable package, Microsoft .NET Framework 2.0 SDK, Internet Explorer 6 dan MSXML 6 terlebih dulu Win32 mengharuskan anda menginstall MDAC 2.8 dan .NET Frame work 2.0soanal. Jika Anda belum menginstall software-software prasyarat, installer Delphi 2007 for Win32 akan menginstallkannya untuk Anda, namun Anda butuh koneksi Internet untuk hal tersebut. Instalasi .NET Framework 2.0 membutuhkan minimal Windows Installer 3.0. Windows XP Service Pack 2 telah menyertakan Windows Installer 3.0.

Saya pribadi cukup kerepotan dengan proses instalasi Delphi 2007 for Win32 versi trial ini, maklum awalnya saya belum menginstall software prasyaratnya. Yang cukup memberatkan adalah download .NET Framework 2.0 SDK, ukurannya sekitar 364 MB, sangat menguras bandwidth, apalagi bagi Anda yang mendownload dari warnet.

Saya awalnya sedikit bingung dengan nama “for Win32”, sebab ternyata Delphi 2007 for Win32 membutuhkan .NET Framework untuk instalasi. Setelah saya cari tahu, ternyata .NET Framework hanya diperlukan oleh beberapa fitur di IDE.
Gbr 1 Instalasi Delphi 2007 for Win32.
Gbr 1 Instalasi Delphi 2007 for Win32.

Installer dibuat dengan InstallAware. CodeGear menyertakan bundle software InstallAware Express CodeGear Edition bersama Delphi 2007 for Win32. Menurut CodeGear, InstallAware dipilih karena fitur update produk otomatis yang terintegrasi dalam installer.

Fitur baru yang cukup menarik dari installer yang baru adalah fasilitas untuk memilih bahasa yang digunakan. Tidak hanya dialog selama proses instalasi yang berubah, seluruh IDE juga akan menggunakan bahasa yang Anda pilih. Jadi bila Anda mengubah bahasa menjadi bahasa Jerman, IDE juga akan menggunakan bahasa Jerman. Pilihan bahasa yang disediakan adalah bahasa Inggris, Jerman, Peransic dan Jepang. Sayang sekali, bahasa Indonesia belum tersedia.

Platform Win32

Delphi 2007 for Win32 ditujukan untuk pengembangan aplikasi pada platform Win32, khususnya Windows 2000, XP dan Vista, sehingga kode hasil kompilasi adalah kode biner untuk aplikasi Win32. Anda tidak dapat membuat aplikasi untuk .NET. Ini juga berarti, Anda tidak perlu mendistribusi .NET Framework bersama aplikasi yang Anda buat menggunakan Delphi 2007 for Win32.

Lalu apakah Delphi for .NET sudah tidak dikembangkan? Isu yang berkembang, CodeGear tetap mengembangkan Delphi for .NET, namun rilisnya diprioritaskan Win32 terlebih dulu. Alasan utama mungkin karena pengembang aplikasi masih banyak yang bertahan dengan Win32 (saya salah satunya). CodeGear menyatakan bahwa project yang Anda tulis menggunakan Delphi 2007 for Win32 akan dapat dikompilasi menggunakan Delphi for .NET untuk menciptakan aplikasi untuk platform .NET.

Isu yang beredar menyatakan, Delphi 2007 for Win32 rencananya akan dirilis bersama dengan Delphi for .NET dalam satu paket Studio seperti halnya BDS2006. Saya sendiri belum tahu apakah namanya menggunakan BDS2007 atau CDS2007 (CodeGear Developer Studio 2007). Kita tunggu saja perkembangannya.

Pilih edisi sesuai keuangan Anda

Delphi 2007 for Win32 terdiri atas dua edisi: Enterprise dan Professional.

Enterprise ditujukan untuk kalangan korporat atau developer besar. Anda harus menginvestasikan dana USD1999 untuk pengguna baru. Untuk upgrade Delphi versi lama ke Delphi 2007 Enterprise, Anda dikenakan biaya USD1299.

Versi Professional ditujukan untuk individu dan developer tingkat menengah . Untuk versi ini Anda butuh investasi USD899 untuk pengguna baru dan biaya upgrade USD366.

Jika Anda membutuhkan dukungan teknis dan perawatan, Anda harus membayar biaya tambahan USD750 tiap tahun untuk edisi Enterprise atau USD350 tiap tahun untuk edisi Professional.

User interface

Antar muka pengguna masih sama dengan BDS2006, namun bagi Anda yang biasa menggunakan Delphi 7 ke bawah (seperti saya), perubahan user interface ini mungkin membuat Anda perlu sedikit waktu untuk adaptasi.

Jika Anda jeli, Anda akan menemukan caption jendela Delphi 2007 for Win32 sudah tidak lagi menggunakan nama Borland, melainkan CodeGear.

User interfacenya tidak lagi berbentuk jendela-jendela terpisah seperti di Delphi 7 ke bawah, namun menyatu. Component Palette, telah berubah nama menjadi Tool Palette, terletak disamping kanan, menjadikannya lebih mudah diakses (Gambar 2).

Tool Palette Delphi 2007 lebih cepat dibandingkan pendahulunya. Isu yang banyak dikeluhkan di BDS2006 sepertinya telah diperbaiki. Tool Palette memungkinkan kita menampilkan komponen-komponen yang memenuhi kriteria pencarian. Jika fitur penyaringan diaktifkan, ketika Anda ketikkan sesuatu di caption Tool Palette, segera Anda akan mendapatkan bahwa Tool Palette akan menyaring dan menampilkan komponen-komponen yang namanya mengandung kecocokan dengan teks yang Anda ketikkan. Jika ingin menampilkan seluruh komponen, matikan saja fitur penyaringan.
Gambar 2. Tool Palette menyaring komponen yang memiliki kecocokan nama dengan teks ‘butto’.
Gambar 2. Tool Palette menyaring komponen yang memiliki kecocokan nama dengan teks ‘butto’.

IDE juga menyertakan File Browser yang defaultnya terletak pada bagian tengah bawah yang memudahkan Anda menemukan file di hardisk dan membukanya dalam Code Editor atau menambahkannya ke project.

Delphi 2007 for Win32 menyertakan dukungan framework unit testing DUnit. Framework ini menyederhanakan pengujian metode dan fungsi dalam aplikasi sehingga mampu meningkatkan kestabilan aplikasi. IDE menyertakan wizard untuk membuat unit tes untuk kode yang sudah ada.
Fitur Error Insight semakin canggih karena mampu menampilkan kesalahan sintaks yang terdapat pada kode program bersamaan dengan Anda menulis kode sehingga Anda dapat mengantisipasi kesalahan sintaks lebih cepat.

Kompiler

File unit hasil kompilasi (DCU) yang ditulis untuk BDS2006, kompatibel dengan Delphi 2007 for Win32, sehingga Anda tidak perlu melakukan kompilasi ulang unit-unit pada project yang Anda tulis untuk BDS2006.

Hal ini berarti, file DCU komponen-komponen pihak ketiga yang terinstall pada BDS2006, dapat Anda pergunakan tanpa perlu kompilasi ulang dan tanpa membutuhkan source code komponen-komponen tersebut.

Kondisional define VER180 pada BDS2006 masih ada, VER185 ditambahkan bagi Anda yang ingin dapat membedakan Delphi 2007 for Win32 dengan rilis sebelumnya.

Dibandingkan BDS2006, kompiler Delphi 2007 for Win32 hanya berubah sedikit. Pada Delphi 2007 for Win32 ditambahkan beberapa hint, warning dan pesan kesalahan baru (Tabel 1, Tabel 2, Tabel 3).

Tabel 1 Daftar hint baru.

Kode Keterangan
H2445 Inline function ‘%s’ has not been expanded because its unit ‘%s’ is specified in USES statement of IMPLEMENTATION section and current function is inline function or being inline function.
H2451 Narrowing given WideChar constant (#$%04X) to AnsiChar lost information.
H2456 Inline function ‘%s’ has not been expanded because contained unit ‘%s’ uses compiling unit ‘%s’
.

Tabel 2 Daftar warning baru.

Kode Keterangan
W1055 PUBLISHED caused RTTI ($M+) to be added to type ‘%s’.
W1201 XML comment on ‘%s’ has badly formed XML — ‘Whitespace is not allowed at this location.’
W1202 XML comment on ‘%s’ has badly formed XML — ‘Reference to undefined entity ‘%s’.’
.
W1203 XML comment on ‘%s’ has badly formed XML — ‘A name was started with an invalid character.’
.
W1204 XML comment on ‘%s’ has badly formed XML — ‘A name contained an invalid character.’
W1205 XML comment on ‘%s’ has badly formed XML — ‘The character ‘%c’ was expected.’
W1206 XML comment on ‘%s’ has cref attribute ‘%s’ that could not be resolved
W1207 XML comment on ‘%s’ has a param tag for ‘%s’, but there is no parameter by that name
W1208 Parameter ‘%s’ has no matching param tag in the XML comment for ‘%s’ (but other parameters do)

Tabel 3 Pesan kesalahan baru.

Kode Keterangan
E2447 Duplicate symbol ‘%s’ defined in namespace ‘%s’ by ‘%s’ and ‘%s’
E2448 An attribute argument must be a constant expression, typeof expression or array constructor
E2449 Inlined nested routine ‘%s’ cannot access outer scope variable ‘%s’
E2450 There is no overloaded version of array property ‘%s’ that can be used with these arguments
F2446 Unit ‘%s’ is compiled with unit ‘%s’ in ‘%s’ but different version ‘%s’ found

Jika Anda baru saja berpindah dari Delphi 7 ke Delphi 2007 for Win32, Anda akan menemukan banyak perubahan pada konstruksi bahasa. Jika Anda adalah pengguna BDS2006 dan telah mengetahui konstruksi bahasa baru yang ditambahkan, Anda dapat melewati bagian ini.

Kode Inline

Prosedur atau fungsi dapat dijadikan prosedur inline dengan menambahkan direktif inline (Listing 1). Pada saat kompilasi, kode mesin rutin inline akan disisipkan di tempat terdapat pemanggilan rutin inline. Prosedur inline identik dengan macro pada bahasa assembly.

Fitur ini sebenarnya sudah ada pada Turbo Pascal dulu, namun kemudian tidak terpakai. Direktif inline disediakan agar kode lama yang ditulis untuk Turbo Pascal kompatibel dengan Delphi. Sekarang direktif ini dikembalikan fungsinya seperti sedia kala.

Listing 1

procedure DoSomething;inline;
begin
  //lakukan sesuatu
end;

Operator overloading

Metode dengan nama tertentu dapat digunakan untuk meng-overload operator (Listing 2).

Listing 2

type 
TMatrix4x4 = class
  class operator Add(a, b: TMatrix4x4): TMatrix4x4; 
end;


//Contoh implementasi operator penambahan
TClass1.Add(a, b: TMatrix4x4): TMatrix4x4;
begin
  //lakukan operasi penambhan matriks   
end;

var
x, y: TMatrix4x4;

...
  //memanggil TMatrix4x4.Add(a, b: TMatrix4x4): TMatrix4x4 
  y := x + x;

Class helper

Class helper adalah suatu tipe yang bila diasosiasi dengan suatu kelas, menyebabkan metodenya dapat dipanggil dalam konteks kelas yang terkait dengan kelas helper (Listing 3). Kelas helper disediakan untuk menambahkan metode pada kelas tanpa melalui penurunan kelas.
Listing 3

type
  Tclass1 = class
    procedure Proc1;
    function  Func1: Integer;
  end;

   ...

   procedure Tclass1.Proc1;
   begin
     showMessage(inttostr(Func1));
   end;

   function Tclass1.Func1: Integer;
   begin
     result:=4;
   end;

...

type
   Tclass1Helper = class helper for Tclass1
	 procedure HelloWorld;
	 function MyFunc: Integer;
   end;

   ...

   procedure Tclass1Helper.HelloWorld;
   begin
     //self berisi instance Tclass1
     ShowMessage(Self.ClassName); 
   end;

   function Tclass1Helper.Func1: Integer;
   begin
     result:=6;
   end;
...

var
  X: Tclass1;
begin
  X := Tclass1.Create;
  // memanggil Proc1 milik Tclass1
  X.Proc1;      
  // memangil Tclass1Helper.HelloWorld
  X.HelloWorld;
  // memanggil Tclass1Helper.Func1
  ShowMessage(inttoster(X.Func1)); 
end;

Strict private dan strict protected

Kata tercadang private menyebabkan field atau metode privat yang dideklarasi dalam unit yang sama masih dapat diakses kelas lain yang berada dalam file unit yang sama.

Penggunaan kata tercadang strict private menyebabkan field atau metode menjadi privat sebenar-benarnya, yakni hanya dapat diakses oleh kelas itu sendiri. Kelas lain bahkan yang masih dideklarasi dalam unit yang sama tidak dapat mengaksesnya.

Hal yang sama terjadi pada kata tercadang protected. Sehingga bila digunakan strict protected, hanya kelas tersebut dan kelas turunannya yang dapat mengakses field atau metode. Kelas lain walaupun masih dalam unit yang sama tidak dapat mengaksesnya.

Record dengan metode

Deklarasi record sekarang dapat ditambahkan deklarasi metode. Jadi tipe record menjadi bertingkah laku mirip kelas sperti yang dapat Anda amati di Listing 4.
Listing 4

type
  TColorRecord = record
    var 
      Color:TColor;
    constructor Create(col:TColor);
    function getColor:TColor; 
  end;

constructor TColorRecord.Create(col:TColor);
begin
  Color:=col;
end;
function TColorRecord.getColor:TColor;
begin
  result:=Color;
end;

Kelas abstrak

Sekarang kelas dapat didefinisikan sebagai kelas abstrak, tidak hanya metode (Listing 5).
Listing 5

type 

      TClass1=class abstract
      private
      public
        procedure DoSomething;   
      published
      end;

Kelas sealed

Kelas yang ditandai dengan kata tercadang sealed tidak dapat diturunkan lagi.

type 

      TClass1=class sealed
      private
      public
        procedure DoSomething;   
      published
      end;


Deklarasi pada Listing 6 akan menyebabkan kesalahan kompilasi.
Listing 6

type 

      Tclass2=class(Tclass1)
      private
      public
        procedure DoSomething;   
      published
      end;

Kelas bersarang

Kelas bersarang adalah kelas yang dideklarasi di dalam deklarasi kelas (Listing 7). Kelas yang dideklarasi dalam suatu kelas, tidak dapat diakses oleh kelas lain.
Listing 7

type 

      TClass1=class
      private
           type
                TClass2=class
                end;
      public
      published
      end;

Metode final dan static

Metode virtual yang di-override dan ditandai dengan kata tercadang final tidak dapat di-override oleh kelas turunan (Listing 8).
Listing 8

type 
      Tclass1=class
      private
      public
        procedure DoSomething;virtual;   
      published
      end;
      Tclass2=class(TClass1)
      private
      public
        procedure DoSomething;override;final;   
      published
      end;


Deklarasi pada Listing 9 akan menyebabkan kesalahan kompilasi.
Listing 9

      Tclass3=class(TClass2)
      private
      public
        procedure DoSomething;override; 
      published
      end;


Metode statis, ditandai dengan kata tercadang static, adalah metode yang hanya dapat diakses lewat tipe kelas (Listing 10).

Listing 10

type
  TClass1 = class
  public
    class function GetText:string; static;
    class procedure ShowText(s: String); static;
  end;
...
TClass1.ShowText('Hello world');
ShowMessage(TClass1.GetText);

Variabel, tipe, property, dan konstanta kelas

Kata tercadang class var, type, class const dan class property digunakan untuk mendeklarasikan tipe , variable, konstanta dan property yang hanya dapat diakses oleh kelas namun tidak oleh instance kelas tersebut (Listing 11).
Listing 11

type
  TClass1 = class
  private
     type
       TRecordNama = record         
         Nama: string;
         URL:string; 
       end;
  public
    const HelloTxt='Hello world';
    class var 
     RecordNama: TRecordNama;
  end;

...
procedure TForm1.FormCreate(Sender: TObject);
begin
  TClass1.RecordNama.Nama := 'Zamrony P. Juhara';
  TClass1.RecordNama.URL := 'http://juhara.com';
  ShowMessage(TClass1.RecordNama.Nama);
  ShowMessage(TClass1.HelloTxt);
end;


Untuk deklarasi property kelas (Listing 12), variabel yang diakses property harus berupa variable kelas dan metode accessor harus berupa metode statis.
Listing 12

type
  TClass1 = class
  strict private
    class var FText:string;
    class function GetText:string;static; 
    class procedure SetText(s:string);static; 
  public
      class property Text: String read GetText write SetText;
  end;
...

TClass1.Text:='Hello world';

Pengulangan for … in

Konstruksi bahasa ini memampukan kita melakukan pengulangan untuk tiap elemen-elemen dalam suatu variable array, string, himpunan maupun koleksi. Sintaksnya adalah seperti Listing 13.

Listing 13

for Element in ArrayExpr do Stmt;
for Element in StringExpr do Stmt;
for Element in SetExpr do Stmt;
for Element in CollectionExpr do Stmt;

MSBuild

Proses build sekarang menggunakan MSBuild. Oleh karena itu ekstensi project berubah dari dpr menjadi dproj. Selain itu, dengan MSBuild, kita juga dapat menyertakan perintah yang akan dieksekusi sebelum dan sesudah proses build menggunakan BuildEvents. Fitur ini tersedia pada jendela Project Options (Gambar 3).
Gambar 3. Opsi Build Events.
Gambar 3. Opsi Build Events.

Delphi 2007 for Win32 melakukan konversi secara otomatis ke format baru untuk project yang ditulis pada Delphi 7 hingga BDS2006.

Debugger

Ada beberapa perubahan pada debugger Delphi 2007 for Win32. Sekarang Anda dapat membuka CPU Window, Disassembly, CPU Stack dan Registers pada jendela-jendela secara individual, yang pada sebelumnya selalu menjadi satu jendela. Terdapat pula opsi untuk menampilkan opcode “Show Opcodes” atau alamat “Show Addresses”

Tooltip debugger sekarang dapat dibuat semi transparan dengan menekan tombol CTRL ketika tooltip muncul, sehingga tampilan yang tertutup tooltip masih dapat dilihat.

Vista

Mengembangkan aplikasi pada Windows Vista menjadi mudah dengan Delphi 2007 for Win32. Tim pengembang di CodeGear telah menambahkan property baru di form, bernama GlassFrame untuk mengatur frame kaca.

GlassFrame bertipe TGlassFrame yang memiliki beberapa property yakni

  • Top, jarak frame kaca dari atas form dalam satuan pixel.
  • Left, jarak frame kaca dari kiri form.
  • Right, jarak frame kaca dari kanan form.
  • Bottom, jarak frame kaca dari bawah form.
  • Enabled, menghidup-matikan fitur frame kaca.
  • SheetOfGlass, jika true seluruh form ditampilkan dalam frame kaca.

Fitur frame kaca hanya tersedia pada Vista bila Aero dihidupkan. Jika tidak, form akan ditampilkan seperti jendela biasa.

Sayangnya control yang diturunkan dari TWinControl akan ditampilkan seperti apa adanya walaupun SheetOfGlass dihidupkan (Gambar 3). Ini disebabkan, proses penggambaran kontrol turunan TWinControl diserahkan ke Windows.

Beberapa dialog baru ditambahkan ke Delphi 2007 for Win32. Dialog seperti TFileOpenDialog, TFileSaveDialog, TTaskDialog ditampilkan menggunakan style Vista jika Aero dihidupkan.

Ada unit baru ditambahkan yakni DwmApi.pas yang ada di direktori [DELPHI_DIR]\source\Win32\rtl\win, [DELPHI_DIR] adalah direktori di mana Delphi terinstall. Unit ini adalah header untuk Desktop Window Manager API milik Vista yang ada di file dwmapi.dll, disediakan terutama bagi programmer yang ingin mengakses langsung fitur window manager dan glass milik Vista.

Perbaikan Run Time Library

RTL mengalami perbaikan. Fungsi-fungsi string seperti UpperCase, LowerCase, CompareStr, StrLen dan _LStrCmp telah diperbarui dengan menggunakan rutin-rutin FastCode yang eksekusinya jauh lebih cepat.

Fungsi InRange yang ada di unit Math disusun ulang agar lebih optimal dengan menghilangkan kode percabangan (jump). Prosesor jaman sekarang bekerja lebih baik pada kode yang memiliki jumlah percabangan lebih sedikit. Kode lama InRange adalah seperti Listing 14.

Listing 14

function InRange(const AValue, AMin, AMax: Integer): Boolean;
begin
  Result := (AValue >= AMin) and (AValue <= AMax);
end;

Kode assembly yang dihasilkan adalah sebagai berikut:

0041841B 3BD0 cmp edx,eax
0041841D 7F04 jnle $00418423
0041841F 3BC8 cmp ecx,eax
00418421 7D03 jnl $00418425
00418423 33C0 xor eax,eax
00418425 C3 ret

Kode baru disusun ulang menjadi seperti Listing 15.

Listing 15

function InRange(const AValue, AMin, AMax: Integer): Boolean;
var a,b:boolean;
begin
  a:=(AValue >= AMin);
  b:=(AValue <= AMax);
  Result := a and b;
end;

Kode assemblynya menjadi

;a:=(AValue >= AMin)
0041842C 3BD0     cmp edx,eax 
0041842E 0F9EC2   setle dl

;b:=(AValue <= AMax);
00418431 3BC8     cmp ecx,eax 
00418433 0F9DC0   setnl al

;Result := a and b
00418436 22C2     and al,dl
00418438 C3       ret

Dapat Anda lihat, kode assembly kedua tidak ada instruksi jump sama sekali.

IntraWeb dan Ajax

IntraWeb 9 buatan AToZed, yang disebut CodeGear sebagai VCL for Web adalah tool untuk pengembangan aplikasi web. IntraWeb 9 telah mendukung teknologi AJAX dan SSL.

Sekedar informasi bagi Anda yang belum tahu tentang AJAX. AJAX adalah teknologi yang memungkinkan halaman web diperbarui secara asynchronous tanpa perlu loading seluruh halaman. Sebenarnya AJAX bukan teknologi yang benar-benar baru karena sejatinya, AJAX hanya menggabungkan teknologi yang sudah ada seperti Javascript, DHTML dan XML XML.

Pada edisi Enterprise, disediakan tool RAD WYSIWYG lengkap untuk pengembangan aplikasi web. Anda dapat membuat aplikasi web CGI atau berupa modul untuk IIS atau Apache dengan cara drag drop control ke form IntraWeb.

Pada edisi Professional, VCL for Web disediakan namun tidak dengan tool RAD WYSIWYG dan dibatasi hanya untuk server standalone dengan jumlah koneksi maksimum 5.

Web Service

Dukungan terhadap web service semakin stabil di Delphi 2007 for Win32. Problem seputar impor WSDL milik eBay, Amazon dan PayPal telah diperbaiki. Saya mencoba melakukan impor WSDL eBay, Delphi 2007 for Win32 melakukannya dengan baik. Fitur code completion langsung mampu mengenali WSDL hasil impor sehingga, Anda dapat mengetahui metode apa saja yang disediakan cukup dengan mengetikkan kode program.

Database

Delphi 2007 for Win32 dirilis dengan menyertakan DbExpress versi 4 (DBX4). Driver untuk DBX3 kompatibel dengan DBX4. Beberapa unit DBExpress mengalami pengubahan pada bagian interface-nya. DbXpress.pas sekarang ditandai sebagai deprecated, unit baru DBCommon.pas ditambahkan dan unit SqlExpr.pas mengalami perubahan.

Delphi 2007 for Win32 edisi Professional menyertakan driver DbExpress untuk koneksi ke database Interbase dan MySQL 4.1/5.x. Untuk edisi Enterprise, selain driver konektivitas database Interbase dan MySQL 4.1/5.x, disertakan pula driver untuk database level enterprise seperti Oracle 10g, MS SQL Server 2000/2005, Informix 9x, SyBase 12.5 dan IBM DB2 8.x

Help

Sistem bantuan mengalami peningkatan. Help tidak lagi menggunakan file .HLP tetapi berupa dokumen HTML yang tampilan visualnya tampak fresh dan ditampilkan menyatu menjadi satu jendela.

Sekarang, Anda dapat browsing hirarki objek menggunakan tree. Hirarki objek juga ditampilkan dalam bentuk diagram yang intuitif. Anda dapat berpindah dari help TControl ke help TComponent secara mudah dengan mengklik pada diagram TComponent.

Properti, tipe dan metode ditampilkan sebagai link sehingga sangat memudahkan pencarian informasi. Sayangnya contoh-contoh sample kode susah ditemukan di sistem bantuan ini.

Dukungan terhadap format GIF

Membuka, menyimpan dan menampilkan file gambar berformat GIF menjadi mudah karena di Delphi 2007 for Win32, kelas TGIFImage secara resmi disertakan.

Welcome Page

Delphi 2007 for Win32 datang dengan Welcome Page yang lebih bergaya dan segar dibandingkan pendahulunya. Memulai project baru, membuka project yang sudah ada atau mencari informasi menjadi lebih mudah.
Gambar 4. Welcome Page

Welcome Page mengorganisasi fitur bantuan, berita dan resource pemrograman dalam satu halaman web yang memudahkan Anda mencari informasi tentang pemrograman Delphi di dokumentasi milik Delphi atau di Internet.

Jika Welcome Page tidak muncul, dapat Anda menampilkannya dengan mengklik View>Welcome Page.

Ringkasan

Saya telah mengajak Anda menjelajahi fitur-fitur baru yang ada pada Delphi 2007 for Win32, IDE yang dirilis oleh CodeGear pada tahun 2007 ini. Cukup banyak perbaikan dan fitur-fitur baru yang ditambahkan, menjadikan proses pengembangan aplikasi untuk platform Win32 menjadi mudah dan cepat.
Lebih Lanjut

6 Comments »

RSS feed for comments on this post. TrackBack URI

  1. saya punya masalah spt ini,
    arrayof not declared..

    aplikasi nya dubuat pakai d5, saya compile pkai d7..

    pertanyaan a/ var arrayof yg tidak dikenal di d7 sekarang harus dibuat sperti apa??

    thxs

  2. arrayof atau array of (dipisah spasi). Syntax array of masih ada. sinteks arrayof tidak dikenal oleh karena itu dianggap sebagai deklarai variabel

  3. download delphi 2007 dimana?

  4. hey i want to d/l tpc source from yahoo group

  5. Hey Peter, the download links are down again, I could really used this hack, any chance on bringing the link back online? Click http://link.mx/hool08200

  6. kunjungi juga http://mukurisuko.blogspot.co.id/


Leave a comment

Blog at WordPress.com.
Entries and comments feeds.