Menyelamatkan CD atau DVD yang rusak ( Backup data)

Tips Selamatkan Data Pada CD Rusak Atau Tergores
Di post Des 25, 2009 Email ke teman Cetak

Pada masa sekarang ini media penyimpanan data yang paling aman, tahan lama, kapasitas besar dan murah adalah CD (Compact Disc) dan DVD. Dengan harga Drive CD-Writer 52x sudah dibilang relatif murah yang hampir menjadi syarat mutlak bagi kelengkapan sebuah PC.

Dipasaran dijual berbagai macam merk dan bahan CD-R / CD-RW dengan kualitas dan harga yang beragam. Kualitas CD kadang ditentukan oleh harga yang mahal . Walaupun harganya mahal namun bila perlakuan anda terhadap CD tersebut tidak semestinya, tentu hal ini sia – sia.

Terlepas dari hal itu apapun CD yang anda miliki, punya peluang untuk tergores, berjamur, patah, dan lain sebagainya. Sekarang bagaimana bila CD yang kita miliki beserta data, file – file penting di dalamnya tidak dapat dibaca karena tergores, berjamur, dll.

Pada kesempatan kali ini penulis hanya akan mengutamakan trik untuk menyelamatkan data pada CD tergores. Banyak software-software penyelamat data, yang free atau shareware diantaranya seperti CD Check dari http://elpros.si/CDCheck/, Badcopy Pro dari http://www.jufsoft.com, dan CD Data Rescue dari http://www.naltech.com.

Sehebat apapun software tersebut tetap saja tergantung pada kualitas hardware. Hardware yang sangat berperan dalam penyelamatan data pada CD adalah CD-ROM / CD-RW / DVD-ROM Drive. Semakin baik kualitas error corection CD-ROM drive tersebut maka semakin besar peluang terselamatkannya data dari CD.

Di pasaran CD-ROM drive dijual dengan harga yang bervariasi. Biasanya harga tidak pernah menipu, harga yang tinggi memiliki kualitas terbaik dan pilihan serta idaman banyak orang, namun tidak ada salahnya anda menanyakan kepada penjual tersebut atau mencari informasi test beberapa CD-ROM drive dari majalah atau tabloid mengenai komputer, cd-rom mana yang memiliki error correction terbaik itulah yang anda pilih.

Dalam penyelamatan data selain fitur error correction, tips yang dianjurkan oleh penulis CD-ROM tersebut memiliki fitur Multispeed, dengan maksud agar kecepatan maksimal CD-ROM bisa diatur secara manual dengan bantuan software seperti Nero DriveSpeed yang bisa di download secara gratis dari http://www.nero.com atau Http://www.cdspeed2000.com. pengaturan kecepatan maksimal secara manual ini hanya mengoptimalkan kemampuan baca CD-ROM.

Secara default kecepatan CD-ROM akan berkurang secara otomatis ketika membaca data pada cd yang tergores atau yang kurang baik dan akan bertambah setelah goresan tersebut terlewati. Baik tidaknya pengaturan kecepatan otomatis ini tergantung dari firmware CD-ROM tersebut, oleh karena itu update-lah CDROM anda dengan firmware terbaru.

Namun pengalaman penulis, CD-ROM yang memiliki error correction baik dan firmware terbaru kadang masih belum sanggup menangani goresan pada keping CD yang sudah benar-benar cacat akibat goresan, namun dengan menurunkan kecepatan maksimal CD-ROM pada kecepatan terendah (misal 4x atau 8x) hal ini kadang dapat diatasi, karena CDROM tersebut dengan kecapetan konstan tidak otomatis naik turun.

Selain CD-ROM Drive, hardware lain yang berperan adalah kepingan CD itu sendiri. Untuk Mengetahui tidak terbacanya data tersebut akibat kegagalan proses burning atau karena kerusakan fisik, bisa dilihat dari keping CD tersebut apakah ada kotoran / goresan atau tidak, bila tidak ada maka kemungkinan besar akibat kegagalan pada saat burning.

Oleh karena itu setiap anda melakukan burning lebih baik diakhiri dengan verifikasi data (gambar 5) atau dengan software Nero CD Speed (gambar 1), yang juga bisa di download secara gratis dari http://www.nero.com atau http://www.cdspeed2000.com atau keduanya akan terinstall secara otomatis bila anda menginstall software Nero Burning ROM.


Gambar 1

Gambar 5. Hasil Scandisc Sebelum (kiri) dan Sesudah (kanan) dipoles

Sekarang bagaimana menyelamatkan data pada CD yang tergores? Lihat secara fisik keping CD tersebut pastikan tidak ada kotoran pada permukaan bawahnya (bagian sensitif, yang dibaca oleh optik CD-ROM). Bila ada kotoran atau goresan ringan bersihkan dengan cairan pembersih khusus keping CD, yang dijual dipasaran dalam kemasan botol kaleng.

Bila hal ini telah dilakukan dan kotoran serta goresan berkurang atau hilang, maka sudah dipastikan semua data dalam CD tersebut bisa diselamatkan 98%, 1% nya tergantung kualitas penulisan data tersebut ke CD dan 1% lagi kualitas error correction CD-ROM drive.
Gambar 2

Bagaimana bila goresan tersebut masih ada? untuk melakukannya sangat diperlukan keterampilan, ketekunan, pengalaman dan beberapa peralatan serta bahan khusus. Alat tersebut adalah yang biasa dipakai untuk poles mobil, berupa kain poles yang diputar oleh bor. Serta bahan yang dipakai adalah pasta untuk memoles mobil terutama yang baik dalam menghilangkan goresan (scratch) (gambar 2).

Namun jangan khawatir, anda tidak perlu berlatih berbulan – bulan. Anda cukup berlatih dengan mengorbankan 1 CD yang sengaja digores. Beberapa hal penting yang harus diperhatikan yaitu :

  1. Backup seluruh data dalam CD yang masih terbaca dengan baik ke harddisk sebelum dipoles.
  2. Bersihkan optik CDROM dengan cd dan cairan pembersihnya jika diperlukan.
  3. Saat memoles cd tidak menekan kain poles secara berlebihan.
  4. Hindari memoles pada 1 lokasi, poles seluruh permukaan cd secara merata, agar tidak terbentuk cekungan.
  5. Usahakan permukaan yang dipoles selalu basah oleh bahan poles, lakukan secara intermittent (sebentar-sebentar) dengan maksud bahan tidak menguap karena panas dari gesekan antara kain poles dengan permukaan CD.
  6. Setelah goresan berkurang coba copy data-data yang tidak terbaca tadi ke hardisk.
  7. Setelah semua data-data terselamatkan, cek data-data tersebut dari file corrupt dengan membuka data-data tersebut. Bila OK,segera Backup ke cd yang baru.
  8. CD yang sudah dipoles jangan dibiarkan terlalu lama tidak dibackup, karena permukaan cd semakin tipis dan lebih mudah berjamur, atau bila tergores-gores lagi, kecil kemungkinan data akan terselamatkan.

Selamat Mencoba, Semoga Artikel ini Bisa menjadi salah satu solusi menyelamatkan data

Penulis : Irfan Qadarusman / http://iq-man.blogspot.com

Advertisements
Published in: on 27 January 2010 at 5:18 am  Comments (3)  
Tags:

Internet Programming with Delphi

by Marco Cantù
(http://www.marcocantu.com)
Table of Contents
The Challenges of Internet Programming …………………………………1
Where does Delphi Fit?……………………………………………………………..2
Core TCP/IP Support……………………………………………………………….3
Client Side Protocols Support……………………………………………………4
Server Side Protocols Support …………………………………………………..4
Client Side Web Support……………………………………………………………5
Server Side Web Development………………………………………………….6
Generating HTML pages …………………………………………………………..6
The WebBroker Framework ……………………………………………………..7
Supporting Microsoft’s Windows DNA architecture ………………..9
InternetExpress: XML, ECMAScript, and DHTML……………….10
Third-Party Web Server Extensions ………………………………………..13
Delphi in Action on the Internet……………………………………………..13
Conclusion: The Delphi Advantage…………………………………………14
Borland Delphi is known to be a great environment for the
development of stand-alone and client-server applications on the
Microsoft Windows platform. Its virtues range from full OOP
support to visual development, in a unique combination of
power and ease. However, the new frontier of development is
now Internet programming. What has Delphi got to offer in this
new context? Which are the features you can rely upon to build
great Internet applications with Delphi? That’s what this paper
intends to reveal. We’ll see that Delphi can be used:
• For direct socket and TCP/IP programming;
• In conjunction with third-party components that implement
the most common Internet protocols, on the client or the
server side;
• To produce HTML pages on the server side, with the
WebBroker and Internet Express architectures;
• As well as to work with Microsoft’s core technologies,
including MTS, COM, ASP, and ActiveX.
The Challenges of Internet
Programming
Internet programming poses new challenges to traditional
developer environments and to the programmers using them.
There are issues related with the implementation of standard
protocols, the use of multiple platforms (Microsoft Windows
accounts for most of the client computers on the Internet but
only a fraction of the servers), and the licensing schemes of
some RDBMS systems.
Delphi
Delphi
2
Most of the problems, however, relate with HTTP development:
Turning existing Windows applications into applications running
within a Web browser is more complex than it might seem at
first sight. The Web is stateless, the development of user
interfaces can be quite an issue, and you invariably have to
consider the incompatibilities of the most widespread browsers.
A new platform specifically aimed at areas of Internet
programming (typically the HTTP world) has emerged. These
environments favor server side development, often also allowing
the inclusion of database information within web pages. A
common solution is to write HTML pages with special
“scripting” tags included, which are going to be expanded by an
engine on the server. Interesting for small projects, most of
these technologies have limited scripting power, and force you to
mix HTML code and scripting code, and GUI scripting code
with database oriented code. On larger applications, this lack of
separation among the different areas of a program is considered
to be far from a good architecture.
Moreover, Microsoft’s DNA is going to be replaced by the new
Microsoft dotNET (or “.NET”) architecture – a new name and
approach that seems to imply that the previous architecture had
indeed serious limitations. DotNET is apparently going to be
more “open” and stresses a lot the importance of XML,
including pushing the support for the SOAP (Simple Object
Access Protocol) invocation protocol. Another key element of
dotNET is that COM is apparently going to be phased out (not a
nice idea for people who’ve invested in the approach Microsoft
was pushing yesterday).
Even with the advent of dotNet, Microsoft’s DNA architecture,
based on ASP for HTML scripting and COM/MTS/COM+ for
database manipulation, offers a higher perspective, but is limited
to the Windows platform and Microsoft’s own IIS Web server,
tends to work primarily with the Internet Explorer browser. The
current incarnation of DNA suffers from several limitations,
including DCOM unfriendliness with firewalls, complex
configuration and administration, some tie-in with Microsoft’s
technologies, databases included, and limited scalability. Also,
the overall architecture, with the separation of many layers
partial with status and partially stateless, seems to be still limited
for the challenges of the Internet.
Where does Delphi Fit?
With this rather complex situation going on, where does a
“traditional” development platform like Delphi fit? The goal of
Delphi in the Internet age is to bring the some power, flexibility,
ease of use, and database support.
• The power of Delphi comes from the fully compiled code,
different from many script-based technologies, and from its
fully object-oriented architecture (which is not an after
thought, but has been the foundation of the language and
its libraries since version 1.0). Delphi natively compiled
applications are simple to deploy, as they are generally made
of a single self-contained executable code (with no extra
runtime libraries and custom component files). Actually,
dividing the single EXE in multiple packages is a useful
option that is offered by Delphi, which programmers can
fine-tune to choose the best deployment solution.
• The flexibility of Delphi comes from a support not limited
to HTTP but open to most Internet protocols, as the
development environment allows you to write lower level
code to support new protocols, as the developers of many
native third-party components have done.
• The ease of use of Delphi comes from the componentbased
environment. Writing a mail client (eventually bound
to a web page) simply implies adding a couple of
components to your program, setting a few properties, and
writing very little code. Some of the samples found in
Delphi and the third party components are basically fullfeatured
email programs!
With the InternetExpress technology of Delphi 5, the easeof-
use has been extended to allow the visual development
of HTML front ends based on data sets.
• Database and client/server support has always been one of
the strongest features of Delphi and client/server
architectures remain the core of most Web applications and
Internet sites. Actually, if you’ve built your Delphi
Delphi
3
applications by separating the user interface from the back
end (typically using Data Modules for the latter) you are
ready to plug in a new user interface to your existing
“business rules” code.
This is particularly true for multi-tier MIDAS applications,
which separate the business logic and the user interface in
two separate applications, running on the client and
application server computers. Using the InternetExpress
technology, as we’ll see, you can simply build a new front
end for a Web server application, and make it available to
the client browsers.
Leveraging your existing Delphi code and allowing you to build
Windows and browsers based front end for the same core
application, are two key reasons to adopt Delphi as your Internet
development platform. But they are not the only reasons, as
other areas of Internet development are equally served by the
technologies included in Delphi.
Finally, with the forthcoming Kylix project (see
http://www.borland.com/linux), Borland are providing a
“Delphi for Linux”, allowing your server side applications to run
equally well on Microsoft Windows or Linux operating systems.
Delphi will be able to leverage features of the two platforms
without any tie-ins to a specific operating system, allowing your
Web server applications to run on the two most widespread
operating systems for Internet servers.
Core TCP/IP Support
The common factor for all Internet and Intranet applications is
communication over TCP/IP sockets. Most of the time the
communication is constrained by a set of rules, known as a
communication protocol. For example, SMTP and POP3 are
two very simple protocols for sending and retrieving mail
messages, defined by the Internet standard bodies.
Using Delphi you can:
• Implement the client and the server side of a proprietary
protocol, using the TServerSocket and TClientSocket
components, found in the Internet page of the component
palette. This is handy for distributed applications, but
creates a closed system, in which other programs not
written by you cannot interact (which might be an
advantage or a disadvantage, depending on the situation).
That is, of course, unless you want to define a new protocol
and publish the specs for others to “join” you.
Figure 1: The Internet page of Delphi’s component palette,
hosting the socket and HTML producer components.
• Implement an existing protocol on the client or on the
server side. This can be done again with the generic socket
components mentioned above, but its generally
accomplished by using protocol-specific Delphi
components provided by third parties, some of which are
even pre-installed in the Delphi IDE.
• Support the HTTP protocol, the core of the Web, and the
HTML file format. As these play such a major role, I’ll
cover them separately from the other protocols.
The support for TCP/IP and socket programming in Delphi is
as powerful as using the direct API (Winsock, in case of the
Windows platform) but far simpler. The socket components, in
fact, shield the programmer from some of the complex technical
details, but surface the Windows handles and low-level APIs,
allowing for custom low-level calls.
Writing simple programs with socket support in plain C calling
the Windows APIs requires hundreds of lines of code, while
using the Delphi socket components, a few lines of code will
suffice, even for complex tasks. That’s the standard advantage of
component-based development. Also, building a simple user
interface for the program is often trivial in Delphi. With other
development environments, you need to program the socket in a
low-level language (such as C) and then write the user interface
with a different visual tool, integrating the two and requiring
knowledge of multiple languages.
Delphi
4
Client Side Protocols Support
To develop the client side of Internet applications, Delphi
provides you ready-to-use components. There are multiple sets
of native VCL components you can adopt, all based on a similar
philosophy:
• The NetMaster components are pre-installed in the Delphi
environment (see the FastNet page of the component
palette), and include client-side support for the most
common Internet protocols (including POP3, SMTP,
NNTP, FTP, and HTTP).
• The Indy open source components (“Internet Direct”,
previously called WinShoes and now “federated” with the
Jedi Project) are available on Delphi 5’s Companion CD and
from their web site (http://www.nevrona.com/indy). It has
been announced that Indy will be included by default in
Delphi 6 and Kylix (Delphi IDE for the Linux platform).
• The free ICS components (“Internet Component Suite”,
available at http://users.swing.be/francois.piette/icsuk.htm,
include the complete source code) and are designed and
maintained by Francois Piette and form another set of very
popular Delphi components, supporting most Internet
protocols.
• A few other commercial offerings, including IP*Works
components (http://www.dev-soft.com/ipwdlp.htm) and
Turbo Power’s Internet Professional
(http://www.turbopower.com/products/IPRO/).
Some of these components map directly to their own WinSock
wrappers, others also use the WinInet library, a Microsoft system
DLL that implements support for the client side of FTP and
HTTP protocols. Regardless of the set of components you are
going to use, they are really quite simple to work with. If you
have an existing application, and want to mail-enable it, just drop
a couple of components onto your form (or data module), set
their properties (which include the indication of the mail server
you want to connect with) and write few lines of code.
For example, to send email with NetMaster’s component, you
can use the following simple code:
// component properties
object Mail: TNMSMTP
Host = ‘mail.server.com’ // your web
service
Port = 25
PostMessage.FromAddress =
‘marco@marcocantu.com’
end
// code to send the above email
message
Mail.PostMessage.ToAddress.Add
(‘davidi@borland.com’);
PostMessage.Subject := ‘Borland
Community Site’;
PostMessage.Body.Add (‘Hi David, I
wanted to ask you…’);
Mail.Connect;
Mail.SendMail;
Mail.Disconnect;
In short, these are the advantages of using Delphi for supporting
Internet client applications:
• Choice among various offerings of components (some of
which are totally free and open source)
• Easy integration with existing applications
• Easy development of new and specific user interfaces, with
Delphi visual and object oriented architecture
Server Side Protocols Support
Besides supporting web protocols in existing applications, or
writing custom client programs specifically for them (as a
completely custom email program), in a corporate environment
you often need to customize Internet server applications. Of
course, many of the available pre-built servers can be used and
customized, but at times you’ll need to provide something that
existing programs do not support.
In that case, you might think of writing your own server, if only
it wasn’t so complex. Using Delphi and a set of server side
components you can build custom servers with only limited
extra effort, compared to a client program, and achieve (or at
times exceed) the performance of professional quality Internet
server programs.
Server side components were pioneered by Jaadu
(http://www.jaadu.com), which offers a web server component
and are now available in the Indy component set (discussed
above). There is also a set of highly optimized native Delphi
Delphi
5
components, called DXSock (http://www.dxsock.com),
specifically aimed at the development of Internet server
programs. Some of the demonstrations of these component sets
are actually full-fledged HTTP, mail, and news servers.
Client Side Web Support
If many Internet protocols are important, and email is one of the
most commonly used Internet services, it is undeniable that the
Web (that is, the HTTP protocol) is the driving force of most of
the Internet development. Web support in Delphi is particularly
rich. Here, we are going to start by exploring the features
available on the client side (to integrate with existing browsers)
and then we’ll move to the server side, devoting plenty of time
to the Web server development that you can do with Delphi.
• The HTTP components available in most suites allow you
to create a custom browser within your application: You can
reach existing Web sites and retrieve HTML files or post
custom queries. At this point you can send the HTML
content returned by the HTTP server to an existing browser
or integrate a custom HTML processor or HTML viewer
within your application. The ways in which can apply are as
follows:
• Sending an HTML file to Microsoft’s Internet Explorer or
Netscape Navigator, either using it as an external
application, by calling the ShellExecute API function:
ShellExecute (Handle, ‘open’,
‘c:\tmp\test.htm’, ”, ”,
sw_ShowNormal);
or integrating the Internet Explorer ActiveX control,
surfaced in Delphi as the ready-to-use WebBrowser
component.
• Processing HTML in a custom way, to extract specific
information; this is useful in case you don’t need to show
the HTML to a user, but want to process it, eventually
extracting specific information from it.
• Showing the HTML within your program using a native
Delphi component (so that end users don’t need to have
Internet Explorer installed). These components are available
by third parties, with the most well known HTML viewer
component being offered by David Baldwin (see the Web
site http://www.pbear.com).
The reverse of integrating a browser within your application, you
can integrate your application within the browser. This is rather
easy to accomplish by using Internet Explorer and the ActiveX
technology. Delphi supports this technology in full using the
ActiveForm technology. An ActiveForm is built in the same
visual way that a plain Delphi form is constructed, but an
ActiveForm is hosted within an HTML page of Internet
Explorer. You can even move existing programs to the Web by
hosting their main form within an ActiveForm.
Figure 2: An example of a wizard built with Delphi (it is
based on a PageControl component) and deployed within
an ActiveForm. The buttons allow you to reach different
pages of the form, without moving outside of the browser’s
page.
This Microsoft specific technology (ActiveX is not supported by
other browsers) can simplify the deployment of simple Delphi
applications within an Intranet, as users can download the
programs they need by pointing their browser to specific pages.
The ActiveX technology, however, is not well suited for the
Internet, as too many people have different browsers or
operating systems, or disable this feature in their browser for
Delphi
6
fear of the potential harm caused by the automatic execution of
programs that are downloaded from the Web.
• The advantage of Delphi in this area is that, once more, it
allows you to customize your existing programs to take
advantage of the Internet, and make them work seamlessly
with Web browsers. Also, if you choose not to use the
ActiveX technology, you won’t be tied to any particular
browser or platform.
Server Side Web Development
As anticipated, all the development related to Web servers is by
far the most important area of Internet development, and again
one where many alternative solutions are available. Delphi has
offered developers strong server side Web development since
version 3, with Delphi 5 being a mature environment for
building Web server extensions. Delphi includes multiple
technologies to support server side development, so I’m going to
cover:
• The HTML Producer components
• The WebBroker technology for building CGI, WinCGI, and
ISAPI/NSAPI server side extensions
• The Internet Express technology (introduced in Delphi 5)
for building database-oriented server side applications,
based on standard technologies such as XML and
ECMAScript (formerly known as JavaScript).
Generating HTML pages
Delphi includes several components aimed at the generation of
dynamic HTML pages. There are two different sets of producer
components, page-oriented and table-oriented ones. When you
use a page oriented HTML producer component, such as the
PageProducer, you provide the Producer component with an
HTML file with custom tags (marked by the # character). You
can then handle the OnTag event of the component to replace
these custom tags with specific HTML code.
The following is sample code for this OnTag event:
procedure
TFormProd.PageProducer1HTMLTag(Sender:
TObject;
Tag: TTag; const TagString: String;
TagParams: TStrings;
var ReplaceText: String);
var
nDays: Integer;
begin
if TagString = ‘date’ then
ReplaceText := DateToStr (Now)
else if TagString = ‘expiration’
then
begin
nDays := StrToIntDef
(TagParams.Values[‘days’], 0);
if nDays <> 0 then
ReplaceText := DateToStr (Now +
nDays)
else
ReplaceText := ‘<I>{expiration
tag error}</I>‘;
end;
end;
This code handles a plain tag, date, which is replaced with the
current date, and a parametric one, expiration, which includes a
parameter indicating the number of days the information on the
page remains valid. The HTML for this custom tag will look like:
Prices valid until <b><#expiration
days=21></b>
The output will be something like: “The prices in this catalog are
valid until 12/24/2000”, as you can see in Figure 3.
Figure 3: The HTML file generated by a PageProducer
component.
The advantage of this approach is that you can generate such a
file using the HTML editor you prefer, simply adding the custom
tags. Notice also that the same OnTag event handler can be
shared by multiple producer components, so you don’t need to
Delphi
7
code the same tag expansion multiple times within the same
program.
A second component of this group, DataSetPageProducer, can
automatically replace tag names with the values of the fields of
the current record of a dataset.
Another group includes HTML table oriented components. The
idea is to convert automatically a dataset (a table or the result set
of a query or stored procedure) into an HTML table. Although a
standard conversion is supplied, you can add custom tags and
styles for the grid, each of the columns, and even specific cells of
the table. The customization is similar to that which can be
applied to a visual DBGrid inside a Windows application. For
example, the following code turns all the cells of the second
column that have a value exceeding 8 digits red in color (with the
effect you can see in Figure 4):
procedure
TFormProd.DataSetTableProducer1FormatC
ell(
Sender: TObject; CellRow,
CellColumn: Integer;
var BgColor: THTMLBgColor; var
Align: THTMLAlign;
var VAlign: THTMLVAlign; var
CustomAttrs, CellData: String);
begin
if (CellColumn = 1) and (Length
(CellData) > 8) then
BgColor := ‘red’;
end;
Figure 4: The output of a DataSetTableProducer, with
custom colors for specific cells.
The second component, the QueryTableProducer is specifically
tailored for building parametric queries based on input from an
HTML search form. The parameters entered in the form are
automatically converted by the component into the parameters
of a SQL query and the resulting dataset is formatted in an
HTML table: all this complex work can be set up with no
custom coding!
Advantages
• You can write the basic HTML code with the editor you
prefer and simply include custom tags.
• You are not mixing scripting code with the HTML code,
but keep them totally separate. The HTML simply includes
a placeholder for the code that is going to be generated.
• The script is replaced by full-performance compiled code.
• Using this technique you can easily access database data,
and render the result of complex queries in HTML tables
with no custom coding!
Further Notes
The HTML producer components can also be used to produce
static web pages, that is plain HTML files that can be placed on
your web server and not server dynamically by a program.
Notice also that beside HTML files, Delphi programs can
produce JPEG files, using the TJPEGImage component. Again,
these files can be placed on a server or produced dynamically
from a server extension. The generation of images includes the
generation of the complex business graphs, available through the
native TeeChart components.
The WebBroker Framework
The development of Web server extensions (that is, custom
applications seamlessly integrated with a Web server) can be
based on multiple competing technologies, including:
• CGI (Common Gateway Interface, common on UNIX
boxes),
• WinCGI (the Windows flavor of the same technology),
Delphi
8
• ISAPI Internet Server API, libraries specifically tailored for
Microsoft’s own IIS) and NSAPI (the corresponding API
offered by Netscape’s web server),
• Apache modules (the same idea, but for the open-source
Apache Web server) – this standard is not currently
supported by Delphi, but Borland has revealed plans to
support it in Kylix, the project for a Linux version of
Delphi.
The problem with most of these technologies is that even if they
are all based on the HTTP protocol, the way you receive the
same information and make it available to the Web server
changes substantially. For this reason, Borland has built in the
VCL a small object-oriented framework, called WebBroker,
which removes those differences. You write all of your code
targeting a few generic base classes, and ask Delphi to provide
you a specific implementation for, say, CGI or ISAPI. This
means you can move your programs (even complex ones) from
one of these technologies to another simply by providing a
different project source code and a few lines of code.
• Once the “bridge” includes Linux based servers beside
Windows ones, the WebBroker technology will be able to
bridge a large variety of web servers on multiple operating
systems.
Not only does WebBroker provide a bridge among multiple
technologies, it also provides a lot of core routines and facilities,
to simplify server side development. For example, you can ask
for a specific value inside a query string by writing:
stringName := Request.QueryString
[‘Name’];
instead of having to parse a complex string yourself. This is just
one simple example, there are a great many timesavers within the
WebBroker architecture, to enable you to really speed up
development.
Consider also that the WebBroker architecture is generally used
in conjunction with the HTML producer components. The
development of a program which executes a query on a SQL
server, formats it using an HTML table, and returns it from a
server side application takes probably less than 20 mouse clicks
and almost no coding!
Figure 5: A query form like this one can be directly tied to
the parameters of an SQL query, via a QueryTableProducer
component and with almost no coding!
For example, if you have the following HTML file with a table
(shown in Figure 5), you can hook it with a script (called
CustQuery.exe) to process the request. This is the HTML code,
with a table having two input fields:
<html><head>
<title>Customer Search
Form</title>
</head>
<body>
<h1>Customer Search Form</h1>
<form
action=”/scripts/CustQuery.exe/search”
method=”POST”>
<table>
<tr><td>State:</td>
<td><input type=”text”
name=”State”></td></tr>
<tr><td>Country:</td>
<td><input type=”text”
name=”Country”></td></tr>
<tr><td></td>
<td><center><input
type=”Submit”></center></td></tr>
</form>
</body>
</html>
Delphi
9
Figure 6: The choices offered by Delphi’s Web Server
Application Wizard.
Now you can create a Delphi WebBroker application, using the
Web Server Application Wizard (see Figure 6), and choosing
CGI (or whatever technology you prefer). Inside the
WebModule Delphi will create and open for you, you can add an
action, by right-clicking on the Actions item of the Objects Tree
View (above in Figure 7) or using the add button or local
command of the resulting actions list editor (below in Figure 7).
You can open the action list editor double clicking on the
WebModule itself.
Figure 7: The actions of a WebModule can been seen in the
Objects Tree View (at top) and in the actions list editor (at
bottom). Their properties are set in the Object Inspector
(at left).
Set the action with the “/search” value in the PathInfo property.
This can be connected (using the Producer property) with a
QueryTableProducer component added to the data module. This
component, in turn, is hooked to a Query component, via its
Query property.
The Query component will be executed when the action is
invoked, passing to its Params the QueryStrings or
ContentStrings parameters of the WebRequest. This means that
Delphi will extract the values entered in the HTML input boxes
and copy them to the query parameters having the same name.
So, we can use a query like the following, with to parameters
having the same name of the input fields (see again the HTML
code above):
SELECT Company, State, Country
FROM CUSTOMER.DB
WHERE
State = :State OR Country = :Country
That’s all! Even with no Delphi code we’ve obtained an HTML
front end for a database search. By customizing the HTML table
output, attaching a style sheet, adding extra code for custom
processing, you can build a professional version of this program
within a few hours.
In short:
• WebBroker allows you a single source code solution for
multiple technologies: CGI, CGI-Win, ISAPI/NSAPI, and
also Apache Modules moving forward.
• Combined with the HTML producer components, your
server side applications can easily produced HTML pages,
particularly showing database data.
• Your WebBroker code will be portable to Linux with little
effort, once Kylix is released.
Supporting Microsoft’s Windows DNA
architecture
Besides talking about the WebBroker framework, and the
Internet Express technology I’ll discuss later, Delphi has a full
and high quality support for the entire Windows’s DNA
architecture (which will be superceded by the dotNet
architecture, but is probably going to remain in use for quite
some time). Delphi has traditionally been the first visual
Delphi
10
development environment to support ActiveX and MTS
technologies, even before Microsoft’s own visual tools provided
such support.
Not only this, but Delphi’s simplified and yet complete COM
support is still unparalleled in the industry. Based on this highquality
low-level COM support, Delphi provides support for
most COM-related technologies, such as Windows Shell
programming, Automation, Active Documents, ActiveX (and
also the Web-oriented ActiveForm technology I’ve already
covered), MTS and COM+, and many others.
Using Delphi you can write MTS object defining your business
rules and database integration code, provide a layer of ASPenabled
COM objects to generate HTML and user interface
elements, and wrap everything in ASP scripts (Microsoft’s Active
Server Pages technology). This corresponds to embrace
Microsoft’s proposal in full, with high quality support.
Giving this past track record, we can probably expect a future
release of Delphi to fully support COM+ (although I have to say
you can already write COM+ applications with Delphi 5, with a
little extra effort) and other emerging Microsoft standards.
In short:
• Delphi’s support for the Windows platform is complete,
including the support for the entire COM architecture and
the Windows DNA model.
• Delphi’s ability to write low-level COM code makes it
possible for you to target new standards without having to
wait for Borland support within the development
environment. You can hardly say the same for any other
visual tool.
• While fully supporting Microsoft technologies, Delphi
allows you to avoid the strong tie-ins you’ll end up with by
using Microsoft tools. With a little engineering effort, you
can build Delphi classes which can exposed their
functionality in a way suitable to Microsoft’s DNA
technologies (for example using the Delphi code inside
ISAPI servers and COM objects) and be able to port them
to other Web Servers and other platforms, such a Linux, by
providing a different wrapper to the same core code.
InternetExpress: XML, ECMAScript, and
DHTML
Delphi 5 has further extended the traditional Delphi offering in
the area of Internet development by providing a brand new
technology based on the most recent open standards.
InternetExpress is based on two key components:
• The XMLBroker component can convert an existing dataset
(using the MIDAS data stream format) into XML data. You
can convert the result of a query, an entire table, and use
any of the Delphi dataset components (those based on the
BDE, the dataset components based on Microsoft’s ADO,
or the native InterBase components), to provide data to the
XMLBroker and surface it on a web page.
• The MidasPageProducer component is a visual component
designed for HTML forms based on the data provided by
the XMLBroker. These pages, once made available in a
browser, not only allow a user to see the database data, but
have full support for editing, deleting, and inserting data in
the database.
The user interface construction becomes similar, in its
capabilities, to the common Windows user interfaces, although it
is a native Web application, capable of running in multiple
browsers with no need of any plug-in or custom extension. The
reason for this openness lies in the fact that the Internet Express
technology is based on open standards, these being:
• XML and an XML DOM
• ECMAScript (the official name of the JavaScript
technology), is the only scripting language supported by
most Web browsers, which can be used to customize the
user interface, apply simple input and editing rules on the
client side, make the user interface interact with the XML
data.
• Dynamic HTML and CSS (Cascading Style Sheets) allow the
development of a modern user interface within a browser,
avoiding a tie-in of graphical elements with the HTML and
the data rules. Quite the contrary, in fact, as the various
Delphi
11
elements (HTML code, business rules, SQL server access)
are kept well separate.
As mentioned earlier the InternetExpress architecture is based
on Borland’s MIDAS 3 technology. In its complete extensions,
the architecture has 4 separate layers (see Figure 8), these being:
Figure 8: The different layers of a multi-tier Internet
Express application.
• The SQL server (any of those supported by BDE, ADO, or
native components), eventually running on a separate
computer
• A MIDAS application server, which connects to the SQL
server, applies specific business rules, and provides the data
to the clients
• A WebBroker Web server extension, which ties to the Web
server, and converts the data received by the MIDAS server
into XML and provides a suitable HTML user interface
• The Web browser, which can be either Internet Explorer or
Netscape (or other complying with the standards) and can
run on any operating system
In the case of simpler projects, the picture can actually be
simplified by merging the MIDAS server and the XML producer
components into a single application. The advantage of the
overall architecture is that you also gain the benefits of the
MIDAS infrastructure, including a proper abstraction of the
business logic, transport independence (it can run on top of
TCP/IP, HTTP, DCOM, MTS, and CORBA), and resource
pooling (to share SQL server connections).
In practice, let me guide you through the steps you’ll need to
build a simple Internet Express front end for editing a simple
database table. The starting point is again the creation of a new
Web Server Application, using the wizard. In the web module
you can add an action (see again Figure 7 and the description of
the related example) and mark this action as the default action,
by setting its Default property to True. Now you need the
following components:
• An actual data set, such as a table or query component,
connected with a database (using BDE, ADO, or another
database access technology). The simplest solution is to use
a BDE Table (from the Data Access tab of the component
palette), setting its DatabaseName and TableName
property. You can use the sample DBDEMOS alias for the
DatabaseName property, and choose any of the available
tables (from the drop-down menu of the property)
• A data set provider component (from the MIDAS tab of
the component palette), hooked with the data set (Table1 in
this case) using its DataSet property
• An XML broker component (from the InternetExpress tab
of the component palette), hooked directly with the
provider (in a “single” tier approach) using its
ProviderName property
• A Midas Page Producer component (again from the
InternetExpress tab of the component palette), connected
with the default action of the web module by setting the
Producer property of the action
At this point you can open the Midas Page Producer (by double
clicking on it), and use its special editor to prepare the HTML
form. For example, you can add a data form, add into it a data
grid (connected with the XML broker) and a navigator (hooked
to the grid using the XMLComponent property).
Delphi
12
Figure 9: The editor MidasPageProducer component
within the WebModule of our InternetExpress application.
After these steps you’ll have a complex data module. To
summarize its key options, I’m going to list the textual version of
its DFM file, an internal Delphi file that reflects the result of
visual development actions. You won’t ever need to type this
code, it is just a summary on the visual setting done in the
Object Inspector, very useful for reference and documentation
purposes. You can view your own WebModule this way by right
clicking on it and then selecting “View as Text” command.
You’ll see more code than that listed here, as I’ve extracted form
the textual definition of this DFM file only its key elements:
object WebModule1: TWebModule1
Actions = <
item
Default = True
Name = ‘WebActionItem1’
PathInfo = ‘/MidasPageProducer1’
Producer = MidasPageProducer1
end>
object Table1: TTable
Active = True
DatabaseName = ‘DBDEMOS’
TableName = ‘country.db’
end
object DataSetProvider1:
TDataSetProvider
DataSet = Table1
end
object XMLBroker1: TXMLBroker
ProviderName = ‘DataSetProvider1’
WebDispatch.PathInfo =
‘XMLBroker1’
end
object MidasPageProducer1:
TMidasPageProducer
HTMLDoc.Strings = (…)
IncludePathURL = ‘/include/’
object DataForm1: TDataForm
object DataGrid1: TDataGrid
XMLBroker = XMLBroker1
end
object DataNavigator1:
TDataNavigator
XMLComponent = DataGrid1
end
end
end
end
Notice you have to remember to set the IncludePathUrl
property of the Midas Page Producer to a URL referring to a
directory where the browser can find the required JavaScript
files. Otherwise the browser will show an error message, and no
data.
Figure 10: The InternetExpress application we have just
built inside a browser (in this case Microsoft Internet
Explorer)
This is all! At this point you’ll have a complete application,
allowing a user not only to see the data inside a browser (any
browser!) but also to edit the data and send it back to the server,
to be posted to the database. See Figure 9 for an example. And,
again, with no coding required we’ve only chosen the basic
options, but with some study (one of the few references,
although limited on this regard, is my own book “Mastering
Delphi 5”) and effort you can build sophisticated program, with
a modern browser-based UI.
Delphi
13
In short:
• With Delphi InternetExpress architecture you can extend
MIDAS multi-tier applications with a browser-based user
interface. Relying on HTTP, XML, and ECMAScript, the
architecture is not tied to any browser or operating system,
which differs from other equally powerful solutions.
• Developing a simple front end for you business data with
InternetExpress is really a very fast and completely visual.
Even without knowing all the core technologies of the
architecture, you can still easily write fully functional and
professional-looking web sites.
Third-Party Web Server Extensions
Besides using Borland’s own InternetExpress technology, you
can use Delphi with some third party components and tools,
which support the development of HTML-based server side
applications with different approaches. There are many tools in
this category, so I’m just mentioning the most popular ones, and
not trying to offer a complete picture.
• HREF (http://www.href.com) offers the popular WebHub
framework, an advanced technology for manipulating
HTML snippets and create Web content based on database
data. WebHub is capable of handling user sessions, separate
the code development from the server side technology used,
and helps developers to move to a proper Web-centric
approach, instead of adapting existing Windows user
interfaces to the Web.
• Nevrona Design offers ND-IntraWeb
(http://www.nevrona.com/intraweb) which follows an
opposite approach: Using a series of custom user interface
components it allows you to build a user interface which
can work equally well inside a Windows program or a Web
browser.
• Marotz Delphi Group offers ASP Express
(http://www.asp-express.com) offers a set of components
designed to encapsulate and simplify the development of
Windows DNA applications. It uses ASP, MSXML, COM,
and other technologies, making it easier to combine
everything with Delphi code.
In short:
• Custom server side solutions provide ready-to-use complex
frameworks for the development of your applications with
Delphi. Some of these technologies have been successfully
used for the development of large and complex web sites.
• Similarly to the use of components wrapping server side
protocols, you can have full control of the entire software
on your web server, with no risk of others people bugs
creeping into your system.
Delphi in Action on the Internet
Delphi’s capabilities in the area of Internet and Web
development can be discussed by their technical merit, as I’ve
done in this paper, but can also be evaluated based on their
success. Delphi is used for the development of many Internetproducts,
ranging from simple shareware utilities to huge ecommerce
Web sites. Although the press is all about other
languages and environments, Delphi has found its inroads in the
Internet era, and is in widespread use right now.
Borland provides a long list of success stories (see
http://www.borland.com/about/cases and
http://www.borland.com/delphi/cases), but there are a few
worth highlighting. Among the web sites powered (at least for
the database oriented portions) by Delphi there are:
• Autobytel.com, a US on-line car dealer
• The National Trust (http://www.nationaltrust.org.uk), a
UK organisation for preserving historical buildings
• iVillage.com, the women’s network web site
• Dulux Trade Paints (http://www.dulux.com), a web site for
choosing paint colors
• CalJobs (http://www.caljobs.ca.gov), the State of California
Internet system for linking employer job listings and job
seeker resumes.
• Travel.World.Net, a complete travel services management
system by Australian World.net.
Delphi
14
Speaking of Internet utility programs, almost half of the
Internet-related shareware programs on the market are built with
Delphi. Some worth mentioning, taken from different categories,
are:
• The powerful email manager The Bat!
(http://www.ritlabs.com) and the freeware mail client Mail
Warrior (http://pages.infinit.net/kaufman), top rated in
many software web sites
• The acclaimed HTML editor HomeSite
(http://www.allaire.com/homesite)
• The MERAK Mail Server (http://www.icewarp.com)
• Two of the most popular IRC clients, Pirch
(http://www.pirchat.com) and Virc
(http://www.megalith.co.uk/virc/)
There are also newsgroup readers, FTP front ends, XML editors,
chat programs, and applications for the client and the server side
almost any possible Internet protocol.
Another area of success in Delphi development is the creation of
high-quality ASP components. Among the most popular ASP
add-ons mentioned on Microsoft’s web site
(http://msdn.microsoft.com/workshop/server/components/ca
talog.asp) there are quite a few written in Delphi, including the
ASP components written by Dimac (http://www.dimac.net) and
including the popular JMail component, described as “the
leading SMTP-component for ASP-coders”.
You can find a rather complete (albeit unofficial) list of Internet
applications and Web sites powered by Delphi on the “Built with
Delphi” area of the Baltic Solution web site
(http://www.balticsolutions.com/bwd).
Conclusion: The Delphi Advantage
After this long detailed paper it is not easy to summarize in only
a few words why you should use Delphi as a core Web
development tool, within your organization. I can certainly say
that Delphi delivers fast-performance applications built with a
rapid development environment for Windows and the Web. It
has optimal Client/Server support and the ability to write goodquality
object-oriented code, both for the building of a complex
application structure and also to delve deep into low-level
programming tasks.
A great tool for the entire Internet needs of any organization.
And a tool you can use today on the Windows platform and get
ready to extend to the Linux operating system with a visual and
high-performance development environment, the ideal solution
for all those who like programming “The Delphi Way”.

Published in: on 24 January 2010 at 5:51 pm  Leave a Comment  
Tags: ,

Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8 A Borland White Paper

By Bob Swart (aka Dr.Bob), Bob Swart Training & Consultancy (http://www.drbob42.com)
February 2004
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Contents
Introduction……………………………………………………………….3
Delphi 7 to Delphi for the Microsoft .NET Framework……….3
VCL, VCL for .NET, and Windows Forms………………………………………………………………4
Delphi 7 language and RTL not available in Delphi for Microsoft .NET…………………………….5
Unsafe code…………………………………………………………………………………………………………………….7
New language features………………………………………………………………………………………………………8
Delphi 7 VCL components not in Delphi for the Microsoft .NET Framework……………………..8
VCL to VCL for .NET…………………………………………………….9
VCL applications……………………………………………………………………………………………………9
Ownerlist………………………………………………………………………………………………………………………10
ConvertIt………………………………………………………………………………………………………………………11
AppEvents…………………………………………………………………………………………………………………….12
VCL for .NET deployment…………………………………………………………………………………….13
Database applications…………………………………………………………………………………………….14
Data Access components………………………………………………………………………………………………….15
FishFact (BDE)……………………………………………………………………………………………………………..16
Frames\Db (Frames and BDE)………………………………………………………………………………………….16
dbExpress……………………………………………………………………………………………………………………..17
Web applications………………………………………………………..19
Web Services…………………………………………………………….20
Miscellaneous……………………………………………………………20
Summary…………………………………………………………………..21
References…………………………………………………………………………………………………………..22
2
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Introduction
With the release of Delphi 8 for the Microsoft .NET Framework (a.k.a. Delphi for .NET), Borland has enabled Delphi developers to target another new platform, supporting the needs of its developer base. Previous versions of Delphi can produce Microsoft Win32 applications (and with Borland Kylix, we can build Linux applications using the Delphi language).
Delphi for .NET enables developers to write native .NET applications using Windows Forms or Web Forms as the framework, or using VCL for .NET components.
This paper discusses the migration of Delphi applications for Win32 to the Microsoft .NET Framework using Delphi 8 for the Microsoft .NET Framework. The difference between Windows Forms and VCL for .NET is covered, as well as several sample migrations from existing Delphi Win32 VCL applications to Delphi for .NET native .NET applications.
Delphi 7 to Delphi for the Microsoft .NET Framework
Using Delphi for the Microsoft .NET Framework, we can compile applications that were made in Delphi 7 or previous versions. The Delphi 8 box also includes Delphi 7 to produce Win32 applications. If you want to produce source code that compiles with both Delphi 7 to a Win32 target and with Delphi for .NET to a .NET target, then you might need to use compiler IFDEFs inside your source code.
Delphi 7 contains the following compiler defines:
MSWINDOWS WIN32
3
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Delphi for .NET contains the following compiler defines:
CLR CIL MANAGEDCODE
This means that you might want to write code like the following (using the Linux compiler define to complete the Delphi platform alternatives):
project HelloWorld; {$APPTYPE CONSOLE} begin {$IFDEF CLR} // Delphi for .NET writeln(‘Hello, .NET world!’); {$ENDIF} {$IFDEF WIN32} // Delphi 7 writeln(‘Hello, Win32 world!’); {$ENDIF} {$IFDEF LINUX} // Kylix writeln(‘Hello, Linux world!’); {$ENDIF} end.
Note that we now have three possible platforms, so you should not use {$ELSE} to write code that is not suited for one particular platform. Even if you are certain today that the code is right, future support for other platforms might break your code. Always use specific {$IFDEF} sections to write code for a specific platform.
VCL, VCL for .NET, and Windows Forms
When Delphi first shipped in 1995, the component library was called the Visual Component Library. It contained more than just visual components, however. A number of these components are platform-independent, and it was mainly the visual components that were specifically bound to the Windows API and controls.
4
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
When Kylix was introduced, a new library name was used: CLX (Component Library for X-platform), which divided the components in BaseCLX, DataCLX, VisualCLX, and NetCLX. Using Delphi 6 and 7, we can build visual applications using CLX (VisualCLX is cross-platform for Linux and Win32) or VCL (only on Win32).
Now that Delphi has been ported to the Microsoft .NET Framework, the VCL has been ported to .NET as well. This means that we can not only use native Windows Forms to produce .NET applications with Delphi for .NET, but also VCL for .NET to produce .NET applications. Because VCL for .NET uses the same classes and property/events interfaces that the VCL for Win32 uses, Delphi Win32 projects can be migrated to Delphi for .NET with considerable ease, which will be demonstrated in this paper).
CLX, VCL, and VCL for .NET are similar in terms of class names, property/event names, and their usage. They all use an external stream file to place the property and event assignments: for CLX an .xfm file, for VCL a .dfm file, and for VCL for .NET an .nfm file. In contrast, the Windows Forms projects do not rely on a .nfm file, but assign all property and event handler values in source code (hence the need for code folding in the IDE).
The VCL can be seen as a wrapper around the Win32 API, and the VCL for .NET can be seen as a wrapper around the .NET Framework (or more specifically the Windows Forms classes). The move from VCL to VCL for .NET is fairly painless and involves far less work than the move from the Win32 API to the .NET Framework with Windows Forms. And the future move to Longhorn’s XAML (for the new Avalon presentation layer) will also be easier when using VCL than when bound to a native layer such as the Win32 API or Windows Forms. In short, using VCL extends the lifetime of your code.
For more information about VCL, CLX, and Windows Forms, see John Kaster’s article at the Borland Developer Network at http://bdn.borland.com/article/0,1410,29460,00.html .
Delphi 7 language and RTL not available in Delphi for Microsoft .NET
Although the move from VCL to VCL for .NET is fairly painless, several migration issues are related to the differences in the Win32 and .NET platforms. These issues are related to the fact that .NET code is executed by the CLR in a safe, managed way, so all potentially unsafe
5
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
features and code constructs in Delphi 7 must be replaced by safe counterparts in Delphi for .NET.
Many Delphi 7 language features are no longer available in the Delphi for .NET environment because they are unsafe or could result in unsafe code. The following table contains the most important (most often used) of these language elements, along with suggested Delphi for .NET alternatives.
Delphi 7 language feature
Recommended Delphi 8 feature
Real48
Double
absolute, Addr, @
n/a
GetMem, FreeMem, ReAllocMem
New and Dispose, or array structures
the Borland Pascal “object” type
class type
Files of any type (including records)
Streams, Serialization, databases
inline assembly or the asm keyword
n/a
ExitProc
n/a
FillChar, Move
rewrite using for-loops
PChar
String or StringBuilder 1
Table 1. Language features
1A string in .NET is not very efficient when you modify it several times (like concatenating substrings), in which case you are better off using the StringBuilder class.
6
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Unsafe code
Delphi 7 can help you prepare Win32 applications for .NET, with a set of three new warnings. Because they are disabled by default, they must be explicitly turned on using the Project | Options – Compiler Warnings tab. The new set consists of warnings for unsafe types, unsafe code, and unsafe typecasts. You can either enable these warnings in project options, orthe preferred approachspecify them at the top of source files as follows:
{$WARN UNSAFE_TYPE ON} {$WARN UNSAFE_CODE ON} {$WARN UNSAFE_CAST ON}
You might have to add it to the top of every unit to produce the warnings.
For unsafe types, you’ll be notified when you declare or use variables of type PChar, untyped pointers, File of type, Real48, variant records, or when you use untyped var or out parameters. Regarding unsafe code, you’ll get warnings in Delphi 7 when you use absolute, Addr, Ptr, Hi, Lo, Swap, BlockRead, BlockWrite, GetMem, FreeMem, and ReallocMem. Finally, any typecast from a pointer or object to something that it may not be is considered worthy of a warning as well.
When you compile unsafe types, code, or casts using Delphi 7 (with the three warnings enabled), you’ll get compiler warnings in the message view. Note that unsafe variables are mentioned not only when you declare them, but also at every line where you use them.
If you cannot replace the unsafe code, type, or casts with safe Delphi for .NET code, then you can mark your code as being unsafe for the time being, so that it compiles. This involves two steps: first , mark the section of code inside {$UNSAFECODE ON} … {$UNSAFECODE OFF} compiler directives, and then mark the routine or method that holds the unsafe code, cast with the unsafe keyword. 7
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
As a consequence of using the unsafe keyword, the resulting application or package no longer passes PEVerify2. However, the unsafe keyword helps you with a first migration (of unsafe sections), which you can later rewrite using native safe .NET code.
New language features
Delphi for .NET has also introduced several new or extended language features to enhance the way it conforms to the .NET standard, such as sealed classes, final methods, and strict private and protected access specifiers. In order to avoid existing code breaking, the private and protected keywords still allow “friends” from the same source file to access the internals of their classes. To conform to the .NET standard, which specifies that private is closed for anyone except the class instance itself, and protected is open only for the class (instance) itself or its descendants, the keyword “strict” should be used before private and protected. This keyword is not supported by Delphi 7 (and neither are sealed classes or final methods), so if you use them, your source code is usable only with Delphi for .NET (until an update or new version of the Win32 Delphi environment is released with support for the new language features).
Delphi 7 VCL components not in Delphi for the Microsoft .NET Framework
A number of Delphi 7 VCL components are not present in the VCL for .NET shipping with Delphi for .NET. The next section discusses the VCL for .NET details on a component-by-component basis. The following categories are no longer available in VCL for .NET: dbGo for ADO, WebBroker, InternetExpress, WebSnap, and XML support in the form of TXMLDocument, XML Data Binding, and the XML Mapper with the associated TXMLTransform components.
2 PEVerify is a .NET Framework SDK utility that can verify whether or not the code in a .NET assembly or executable manipulates data in inappropriate ways that could corrupt data or compromise system security. Only 100% verifiable safe binaries pass the PEVerify test.
8
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
VCL to VCL for .NET
Most Delphi 7 VCL components appear in the VCL for .NET component set that is included with Delphi for .NET. The Component Palette is replaced by the Tool Palette, but similar categories exist: Standard, Additional, Win32, System, Win 3.1, Dialogs, Data Access, Data Controls, dbExpress, DataSnap, BDE, InterBase, InterBase Admin, Indy Clients, Indy I/O Handlers, Indy Intercepts, and Indy Misc (see Figure 1).
Figure 1. Delphi for .NET IDE with VCL for .NET component categories
Rather than list components available in VCL for .NET, the following is a list of components that are part of the Delphi 7 VCL but are not available in the VCL for .NET of Delphi for .NET.
VCL applications
All components from the Standard tab of the VCL appear in VCL for .NET. Missing from the Additional tabare TChart, TActionManager, TActionMainMenuBar, TActionToolBar, TXPColorMap, TStandardColorMap, TtwilightColorMap, and TCustomizeDlg components. Further investigation shows that TActionManager is listed in the help and in the Borland.Vcl.ActnMan namespace, but not in the Tool Palette. Also note that a free VCL for
9
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
.NET version of TeeChart “Standard” will be available at the Steema Web site at http://www.steema.com/.
From the Win32 tab, all components appear in VCL for .NET. Missing from the System tab are OleContainer, DdeClientConv, DdeClientItem, DdeServerConv, and DdeServerItem components. Even the Win 3.1 tab from VCL is present in VCL for .NET, with the exception of the TDBLookupList and TDBLookupCombo components. Finally, the Dialogs tab is completely present in VCL for .NET.
Based on these components, we can pick a number of the standard sample applications that ship with Delphi 7 and open them with Delphi for .NET.
Ownerlist
We can start with the sample application in the Delphi7\Demos\Ownerlist directory, consisting of four files: FontDraw.dpr, FontDraw.res, FontList.pas, and FontList.dfm. Delphi for .NET can open .bdsproj files (the Delphi for .NET project files) as well as Win32-style .dpr project files. If you open FontDraw.dpr in the Delphi for .NET IDE, you can immediately compile the project to a native .NET executable. You might notice warnings, which are mainly platform-specific (caused because the VCL is based on the Windows platform). But these warnings are nothing to worry about; the resulting application is still a native .NET executable, as can be seen in Figure 2:
Figure 2: OwnerDraw sample application for .NET 10
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Without a single change in the source code, we can migrate this sample project from Delphi 7 to Delphi for .NET. The new executable is a safe executable, which can be proved by running it through PEVerify without errors. When you close the project, a FontDraw.bdsproj is generated, and some configuration settings are written to the FontDraw.cfg file. Fortunately, these new settings do not prevent Delphi 7 from being able to compile the same project.
One change made by Delphi for .NET to the main unit is the addition of the System.ComponentModel unit to the uses clause of the interface section. Slightly modify this uses clause if you want to keep a single-source cross-platform project. Place the System.ComponentModel unit in a {$IFDEF CLR} section, like this:
uses
Windows, Classes, Graphics, Forms, Controls, {$IFDEF CLR} System.ComponentModel, {$ENDIF} StdCtrls;
This single change is something you must perform for all units migrating from Delphi 7 to Delphi for .NET, for which you want to enable compatibility with Delphi 7 (to produce a Win32 executable as well as a .NET executable from the same project source code).
ConvertIt
The Ownerlist sample application worked easily and took only one manual step. Let’s take another example, the first one used to demonstrate the capabilities of the Delphi for .NET preview command-line compiler: ConvertIt. The Demos\ConvertIt directory contains five files: ConvertIt.dpr and ConvertIt.res, ConvertItUnit.pas and ConverItUnit.dfm, and a EuroConv.pas unit.
This project also loads immediately in the Delphi for .NET IDE, and results in another native .NET executable (Figure 3).
11
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Figure 3: ConvertIt sample application for .NET
AppEvents
Let’s end the VCL sample applications with a more complex application in the Delphi7\Demos\AppEvents directory. Again, this sample application works as expected when loaded in the Delphi for .NET IDE and run as a native .NET application (Figure 4).
Figure 4: AppEvents sample application for .NET 12
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
VCL for .NET deployment
Before we move on to sample applications with database support, let’s look at deployment of a Delphi for .NET applicationspecifically, a VCL for .NET application. If we take the last sample application, and look inside the Project Manager, the reference node of the project lists only the System.Drawing.dll assembly. This is the only assembly the AppEvents sample application for .NET requires. All VCL for .NET units are compiled into the executable, which as a consequence is about 1.5 MB.
On the bright side, you need to deploy only the AppEvents executable (the System.Drawing.dll assembly exists on any Microsoft .NET Framework installation), and no additional VCL for .NET assemblies. In some situations, however, it might be more desirable to deploy a smaller AppEvents executable and rely on VCL for .NET functionality in VCL for .NET assemblies that are already (or at the same time) deployed on the target machine. In that respect, .NET assemblies can be seen as runtime packages. Use this functionality when the project is modified frequently and the distribution of a small updated executable is more efficient than the distribution of a larger monolithic execution.
The developer must choose, but the default “setting” for new VCL for .NET applications is to compile executables without linking in the VCL for .NET assemblies (in other words: small executables that need the VCL for .NET assemblies to be deployed as well). When migrating VCL projects to Delphi for .NET, however, the IDE will not add the VCL for .NET assemblies to the list of references, and as a result the VCL for .NET units will be compiled into a monolithic executable.
In order to change a migrated VCL for .NET project, manually add the VCL for .NET assemblies as references to the project (specifically the Borland.Delphi.dll and Borland.Vcl.dll), and recompile the project. This results in an AppEvents sample application for .NET of only 12 KB, albeit one that requires the Borland.Delphi.dll and Borland.Vcl.dll assemblies to be deployed alongside.
Next, we focus on more-difficult applications with database support.
13
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Database applications
Many new powerful technologies in the Microsoft .NET Framework are available to developers. Some of these, such as ADO.NET, make current Win32 technologies either unnecessary or obsolete. This section describes the data access technologies offered by Delphi 7 and explains whether and how they are available to use in VCL for .NET applications with Delphi for .NET.
The following table gives an overview of the available data access technologies in Delphi 7, and lists the VCL for .NET counterparts in Delphi for .NET:
Delphi 7
Delphi 8
Borland Database Engine (BDE) (dBASE, Paradox)
BDE (dBASE, Paradox)
SQL Links
Deprecated
Borland dbExpress (InterBase, Microsoft SQL Server, Oracle, IBM DB2, Informix)
dbExpress (InterBase, SQL Server, Oracle, IBM DB2, Informix, SQL Anywhere)
Borland IBExpress (IBX)
IBExpress (IBX)
Borland dbGo for ADO
not available at this time
Table 2: Data-access technologies
Apart from dbGo for ADO, which was not ported to .NET, we have the choice of BDE (SQL Links is deprecated (see http://bdn.borland.com/article/0,1410,28688,00.html ) but local BDE for dBASE and Paradox tables is still present), dbExpress, and InterBase Express (IBX).
The sample applications from Delphi 7 that illustrate this, and are migrated to Delphi for .NET with little to no modifications, are Demos\Db\FishFact (BDE) and Demos\Frames\Db (BDE). Apart from these two sample applications, we’ll build a small dbExpress application in Delphi 7 and move it over to Delphi for .NET.
Also, for reporting purposes, Rave Reports is available with Delphi for .NET.
14
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
One category of VCL components that wasn’t migrated to VCL for .NET is the Decision Cube. Because the source code is included with Delphi 7 (at least in the Enterprise edition), you can attempt to migrate these components yourself if you desperately need them
Data Access components
In the Data Access category, the TXMLTransform, TXMLTransformProvider, and TXMLTransformClient components are not included with Delphi for .NET. Support for XML in .NET can be found in the System.Xml namespace.
The Data Controls category is complete, with the exception of the TDBChart component.
Although the BDE is still supported in .NET, this only covers the local table components TTable, TQuery, TDatabase, TSession, and TBatchMove, and not the SQL Links specific components TStoredProc, TUpdateSQL, TNestedTable (which are therefore not available in the Tool Palette, although they can be found in the VCL for .NET unit Borland.Vcl.DBTables.pas).
In the dbExpress category, components from VCL are present in VCL for .NET with the exception of TSimpleDataSet.
The InterBase (for InterBase Express) and InterBase Admin categories are complete, with the exception of the TIBEvents component from the InterBase tab, and the TIBInstall and TIBUninstall components from the InterBase Admin tab.
The DataSnap category in VCL for .NET contains only the TDCOMConnection component, and not TSocketConnection, TSimpleObjectBroker, TWebConnection, TConnectionBroker, TSharedConnection, and TLocalConnection. Note that TConnectionBroker can be found in Borland.Vcl.DBClient.pas, TSharedConnection in Borland.Vcl.MConnect.pas, and TLocalConnection in Borland.Vcl.TConnect.pas.
Using the TDCOMConnection component in Delphi for .NET, developers can build DataSnap clients connecting to Win32 Delphi DataSnap servers, which is another way the Win32 and .NET worlds are bridged.
15
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
FishFact (BDE)
The FishFact sample application, using a local BDE Paradox table, available even in Delphi 1, can be opened in Delphi for .NET and compiled without problems. The resulting.NET sample application can be seen in Figure 5. This 16-bit project can be compiled with Delphi for .NET to a native .NET executable without modifications!
Figure 5: FishFact BDE sample application for .NET
When migrating BDE applications with Delphi for .NET to the .NET Framework, you must be aware that the underlying data access architecture is still the Win32 version of the BDE itself. So when it comes to deploying the VCL for .NET application, you must deploy the BDE with it.
Frames\Db (Frames and BDE)
The Frames\Db sample application illustrates the use of BDE tables in combination with the support for Frames in VCL for .NET. Frames, an important feature of VCL for .NET, enable developers to design frames as reusable “jigsaw” GUI elements, each consisting of controls to produce a consistent, reusable, and easily maintainable collection of screen elements.
16
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Delphi 7 projects that rely on frames migrate to Delphi for .NET without problems, as you can see in Figure 6 with the BDE frames sample application.
Figure 6: BDE FishFact and Frames sample application for .NET
The BDE can be used in VCL for .NET applications to work with local dBASE and Paradox files. In order to work with database management systems (DBMSs) such as InterBase, Oracle, Microsoft SQL Server, IBM DB2, or Informix, you need to use a different data- access technology. For InterBase, the choice can be IBExpress (IBX) or dbExpress, but for others, the only VCL for .NET data access technology available is dbExpress.
dbExpress
Many dbExpress sample applications shipping with Delphi 7 are based on CLX for cross-platform compatibility between Delphi 7 and Kylix 3. This means some uses clauses must be 17
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
changed (a bit more work compared to VCL applications), and that we end with an application using IFDEFs that can be compiled with Delphi 7, Delphi for .NET, and Kylix.
In order to build a new dbExpress application for Win32, start Delphi 7 and create a new VCL application. Add a TSQLConnection component from the dbExpress tab of the Component Palette onto the form. Right-click on this component to start the Connections Editor, and edit the settings to connect to the IBLocal InterBase database (username sysdba, password masterkey). Place a TSQLDataSet component and point the SQLConnection property to the TSQLConnection component. Now use the Query Editor to specify the following SQL statement for the CommandText property:
SELECT * FROM EMPLOYEE
Next, add a TDataSetProvider component on the form, and point its DataSet property to the TSQLDataSet component. Place a TClientDataSet component on the form and point its ProviderName property to the TDataSetProvider component. Finally, add a TDataSource component and point its DataSet property to the TClientDataSet component.
We can now use data-aware controls, such as the TDBGrid component. Make sure the DataSource property is pointing to the TDataSource component. You can get live data at design-time if you open the ClientDataSet (by setting Active to True).
In order to ensure that the changes in the DBGrid are posted back to the InterBase table, write one line of code in the OnAfterPost and OnAfterDelete event handlers, namely:
procedure TForm1.ClientDataSet1AfterPostOrDelete(DataSet: TDataSet); begin (DataSet as TClientDataSet).ApplyUpdates(0) end;
Now, we can compile and run the application. After you’ve saved the project in Delphi 7, you can open the project in Delphi for .NET and compile it to a native .NET executable without errors or warnings. 18
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
For a more complex sample application, you can use a VCL data module, which also migrates to VCL for .NET without problems. Like Frames, Data Modules offer VCL for .NET developers a powerful means to group and manage components that belong together within a single container (either the frame or the data module).
Web applications
Many powerful new technologies are available within the Microsoft .NET Framework. Some of these new technologies, such as ASP.NET, make current Win32 technologies either unnecessary or obsolete. This section discusses the technologies available to build Web server applications offered by Delphi 7, and explains if and how they are available to use in VCL for .NET applications with Delphi for .NET.
The ASP.NET technology of the .NET Framework enables developers to build Web server applications that can be visually designed and have the deployment ease of a CGI executable, while retaining the speed and efficiency of an ISAPI DLL. This means that the need to migrate WebBroker, InternetExpress, or WebSnap applications to the .NET world is expected to be nonexistent. Maintain those web server projects in Delphi 7, and start new development using Delphi for .NET and ASP.NET.
For more information about ASP.NET development with Delphi for .NET, see the BDNtv Flash movie at http://bdn.borland.com/article/0,1410,31890,00.html , which demonstrates the development of an ASP.NET Web application using the Borland Data Provider for InterBase and the Borland DB Web Controls. This BDNtv movie also shows how easy it can be to migrate a Delphi Win32 application to the Microsoft .NET Framework with Delphi for .NET
Delphi 7 included IntraWeb 5, a third-party tool, which is migrated to .NET and available as IntraWeb for .NET. Existing IntraWeb applications can be expected to migrate to IntraWeb for .NET with few to no problems. Note, however, that IntraWeb for .NET is not included with Delphi for .NET.
19
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
The Indy tabs of VCL are all accounted for in VCL for .NET, so VCL applications that use the Indy components should migrate over to VCL for .NET without problems.
Web Services
Delphi 6 introduced support for building and consuming Web Services using Borland’s implementation of the SOAP protocol, which is also used in Kylix 2 and higher (and C++Builder 6). The .NET Framework has support for SOAP and Web Services built in using the ASP.NET technology. As a result, Delphi for .NET makes use of the native .NET functionality to build ASP.NET Web Services and consume Web Services.
Delphi for .NET on-line help contains two sections entitled “Porting Web Service Clients to Delphi 8 for .NET” and “Porting a Web Service Client Application from Delphi 7 to Delphi 8 for .NET” that can be read for more information about migrating Web Service client applications from Delphi 7 to Delphi for .NET.
Miscellaneous
Three VCL component categories from Delphi 7 that are not immediately available in Delphi for .NET are the ActiveX, COM+, and Servers tabs. Although these components are not installed by default, you can import COM and ActiveX components by adding them as reference to your project, as you can see in the dialog box in Figure 7.
20
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Figure 7: COM imports
Note that this means that your managed, safe .NET executable will use COM Interop to use an unmanaged (and potentially unsafe) COM object. This solution can be used for migration purposes, but in the long run aim for a fully managed, safe .NET executable.
Finally, although the Samples category isn’t listed in the Tool Palette of Delphi for .NET, the components can be found in the Demos\Vcl\Samples directory, including the Borland.Vcl.Samples package.
If that’s not enough, you can also use standard .NET controls in VCL for .NET applications. Read an article about doing so at http://bdn.borland.com/article/0,1410,31886,00.html .
Summary
From VCL you can migrate to VCL for .NET with considerable ease. For new .NET applications, you can choose between VCL for .NET and Windows Forms. Using VCL for 21
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
22
.NET, you can use the BDE, dbExpress, IBX, or DataSnap components. Using Windows Forms, you can choose ADO.NET or Borland Data Provider for .NET components.
For Web development, WebBroker, InternetExpress, and WebSnap technologies are replaced by the ASP.NET framework, which supports ASP.NET Web forms and Web Services. IntraWeb also has migrated to .NET as a third-party solution.
References
“Delphi 8 ASP.NET Development, and Win32 migration,” John Kaster (presented by Troy Kitch) http://bdn.borland.com/article/0,1410,31890,00.html
“Using standard .NET controls in VCL .NET applications with Delphi 8,” Tim Jarvis and John Kaster http://bdn.borland.com/article/0,1410,31886,00.html
“Overview of the VCL for .NET,” John Kaster http://bdn.borland.com/article/0,1410,29460,00.html
“The Future of the Borland Database Engine (BDE) and SQL Links,” John Kaster http://bdn.borland.com/article/0,1410,28688,00.html
Made in Borland® Copyright © 2004 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other marks are the property of their respective owners. Corporate Headquarters: 100 Enterprise Way, Scotts Valley, CA 95066-3249 • 831-431-1000 • http://www.borland.com • Offices in: Australia, Brazil, Canada, China, Czech Republic, Finland, France, Germany, Hong Kong, Hungary, India, Ireland, Italy, Japan, Korea, Mexico, the Netherlands, New Zealand, Russia, Singapore, Spain, Sweden, Taiwan, the United Kingdom, and the United States. • 21550

Published in: on 24 January 2010 at 5:38 pm  Leave a Comment  
Tags: ,

Meningkatkan kecepatan Koneksi : 2 ( Untuk Internet Explorer )

TUTORIAL TIPS 2

Menurut tulisan itu, ada beberapa cara untuk meningkatkan kecepetan akses internet di antaranya dengan menyetting browser, menggunakan openDNS atau menggunakan Google Web Accelerator.

Setting melalui openDNS sendiri sebenarnya banyak yang meragukan apakah bisa membuat koneksi cepat atau ga ada pengaruh apa-apa, coba anda baca polemiknya di forum. Sedangkan Google Web Accelerator didesain jika anda menggunakan koneksi broadband seperti cable dan DSL, tetapi untuk dial-up (mis. telkomnet instan atau speedy) juga dapat mempercepat koneksi. Untuk memakai Google Web Accelerator anda harus memenuhi kriteria antara lain Operating system harus windows XP atau windows 2000 dan browser nya harus (minimal) IE 5.5+ atau Mozilla Firefox 1.0+. kalau untuk browser lain juga bisa tetapi harus menkonfigurasi proxy settingsnya dari browser anda dengan menambah 127.0.0.1:9-100 pada HTTP. Setelah melakukan instalasi, Google web accelerator akan menampilkan icon kecil di atas browser dan icon tray di pojok bawah layar desktop.

Untuk cara Setting Browser, silakan ikuti cara2 ini:

Pengguna Internet Explorer:

  1. Pilih menu [Tools]
  2. Pilih [Internet Option]
  3. Klik tab [General]
  4. Pada opsi “Temporary Internet Files” klik [Setting] lalu geser slider-nya
Published in: on 24 January 2010 at 5:02 pm  Comments (1)  
Tags: ,

Borland® Delphi™ 7 Studio Feature Matrix ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL*

1
New! Interoperability and migration support for Microsoft® .NET
New! Delphi compiler warnings and hints for .NET compatibility 􀀗 􀀗 􀀗 􀀗
New! Import any .NET assembly as a COM object 􀀗 􀀗 􀀗 􀀗
New! Use Delphi COM objects in .NET managed applications 􀀗 􀀗 􀀗
New! Delphi™ for Microsoft® .NET prerelease preview
New! .NET preview CIL compiler for the Delphi™ language to
create managed applications
􀀗 􀀗 􀀗 􀀗
New! .NET migration documentation 􀀗 􀀗 􀀗 􀀗
New! ModelMaker technology
New! Model-driven design 􀀗 􀀗
New! Visual modeling and refactoring tool based on
UML™ technology
􀀗 􀀗
New! Native Delphi integration, reverse engineering, and
instant visualization
􀀗 􀀗
New! Apply off-the-shelf design patterns 􀀗 􀀗
New! AToZed Software IntraWeb technology
New! Deploy your application to the Internet, utilizing drag-anddrop
visual Web application development
􀀗 􀀗 􀀗
New! Add interactive content to your Web sites by rapidly and
visually building dynamic server-side HTML Web applications
􀀗 􀀗 􀀗
New! Transparently manages Web application details such as
cookie, session, and user management
􀀗 􀀗
New! Create, debug and maintain Web-based applications
quickly with Application Mode
􀀗 􀀗
New! Support for easy-to-use API for implementing
custom components
􀀗 􀀗
* Delphi 7 Personal Edition is not a Studio product, and it is for noncommercial use only.
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
2
New! Nevrona Rave™ technology
New! Powerful Rave Reports Borland Edition visual report
designer and code-based API
􀀗 􀀗 􀀗
New! PDF, HTML, RTF, and text rendering formats 􀀗 􀀗 􀀗
New! Native support for VCL and Borland Component Library for
Cross-platform (CLX™) applications
􀀗 􀀗 􀀗
New! Flexible page-based layout to handle both form and banded
style reports
􀀗 􀀗 􀀗
New! Bold® for Delphi™
New! Maintain less code with a true
Model Driven Architecture™ (MDA™)
􀀗
New! UML technology: full support for class diagrams, tagged
values, stereotypes, associations (aggregates, compositions),
cardinality, visibility, and mixed transient/persistent elements
and classes
􀀗
New! Integrated support for Rational Rose® and ModelMaker;
import/export model information from/to Bold® Model Editor
􀀗
New! Automatic database schema generation using SQL 􀀗
New! Windows XP™ Themes
New! Enable applications to take part of Windows XP™ Themes
with a look that will blend in with your favorite Windows XP theme
􀀗 􀀗 􀀗 􀀗
New! Take full advantage of the new XP look for the Windows®
common controls library (comctrls.dll version 6.0)
􀀗 􀀗 􀀗 􀀗
New! ThemeServices wrap around theme APIs to enable an
application or control to use theme functions transparently
􀀗 􀀗 􀀗 􀀗
Borland® BizSnap™—Web Services with XML technologies
New! UDDI browser to visually locate and import registered
Web Services
􀀗 􀀗 􀀗
New! Automatic UDDI client fail-over support 􀀗 􀀗 􀀗
New! Global XML Architecture (GXA) for Web Services, header
support for Web Services routing, and Web Services Inspection
Language (WSIL)
􀀗 􀀗 􀀗
New! Binary attachments 􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) Rapidly build server-side
W3C-compliant Web Services using SOAP, XML, WSDL,
and more
􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
3
Rapidly build client-side applications that consume W3Ccompliant
Web Services using SOAP, XML, WSDL, and more
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) WSDL wizards and
components mean you can easily access Internet Web Services
and add functionality to your own applications
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) Create applications that
seamlessly interoperate across the Internet with standards-based
Web Services platforms such as Microsoft® .NET, Sun® ONE,
and others!
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) SOAP communication
wizards and components make building Web Services a snap!
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional Delphi) native SOAP
bindings deliver type and syntax checking with CodeInsight™ and
more with SOAP Web Services
􀀗 􀀗 􀀗
XML Transform Components ( XML<–>dataset, XML<–>XML)
enable your application to translate XML data between XML and
dataset formats easily
􀀗 􀀗
XML Schema transform tools and utilities provide translation
between XML data, DTDs, and XDR schema and datasets
automatically, making XML Schema analysis, creation, and XML
data transformations a snap!
􀀗 􀀗
Native Delphi XML bindings radically simplify XML
programming—XML documents become native Delphi objects
􀀗 􀀗
Avoid vendor lock-in and incorporate data from virtually any XML
source with multiple XML DOM Level 2 support
􀀗 􀀗
XML doc object in the VCL provides fast programmatic access to
new XML formats
􀀗 􀀗
XML Document Objects and native Web Services WSDL bindings
leverage CodeInsight and compiler type-checking
􀀗 􀀗
Borland WebSnap™—the complete Web application design platform
Deploy your Web applications to Microsoft IIS, Netscape,® and
New! Apache™ 2.0! With support for ISAPI, NSAPI, Apache DSO,
and CGI
􀀗 􀀗
WebPage Surface Designers to rapidly build and view your
WebSnap™ application surfaces in HTML and an instantly
updated browser preview of your application
􀀗 􀀗
XML Tree and XSL Tree displays to present any XML and XSL
documents with easy-to-read indentations and syntax highlighting
􀀗 􀀗
Enhanced! Server-side scriptable Web page components to
easily interface WebSnap/NetCLX™ objects with Web site
development teams and scripters
􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
4
Pre-built scriptable Web page components—datasets, login
forms, end-user sessions, and other commonly required Web
application elements
􀀗 􀀗
Page Producers and Dispatchers for servicing standard and XSLtransformed
XML pages, logical pages, and your own custom
adapters and services
􀀗 􀀗
Multiple Web modules in a single project to organize your pages
and your site
􀀗 􀀗
XSL Page Producers for combining XML source data with XSL
transforms to produce full-page outputs to HTML
􀀗 􀀗
Enhanced! Server-side scripting in WebSnap with JavaScript®
and VBScript
􀀗 􀀗
Active script debugging support in WebSnap 􀀗 􀀗
Borland InternetExpress™
XML Web browser tables for high-performance client-cached
XML Web database tables
􀀗 􀀗
XML data from DataSnap™ servers to simplify data exchange 􀀗 􀀗
XML broker for quickly providing XML data for Web
server applications
􀀗 􀀗
DataSnap PageProducer wizard to migrate your applications to
the Internet with XML and HTML 4 for dynamic Web clients
􀀗 􀀗
Web Page Editor for instantly designing HTML 4 Web documents
that deliver dynamic XML data
􀀗 􀀗
Borland NetCLX™ and WebBroker™—compatible, cross-platform Web application development
framework for Windows® and Linux® *
Develop single-source applications for deployment to Web
servers on Windows and Linux® *
􀀗 􀀗 􀀗
Automated Web Debug Server accelerates your Web application
testing cycles
􀀗 􀀗 􀀗
NetCLX Web application framework for high-speed, highthroughput,
cross-platform Web applications compatible
with WebBroker™
􀀗 􀀗 􀀗
NetCLX Web application components for cross-platform
development on Apache, IIS, Netscape, and more, using ISAPI,
NSAPI, Apache DLL and SO extensions, or CGI
􀀗 􀀗 􀀗
WebModules™ for centralized information publishing to
Internet applications
􀀗 􀀗 􀀗
Web application wizard gets you up and running quickly 􀀗 􀀗 􀀗
* Compliling applications for Linux® requires Kylix.™
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
5
WebDispatcher™ component for issuing rapid responses to
browser requests and adapting any data module to the Web
􀀗 􀀗 􀀗
New! Support for Apache 2.0 Web Server in Delphi
Web technologies
􀀗 􀀗 􀀗
Seamless Internet/intranet wizards and components
WebBridge for an open solution that supports ISAPI, NSAPI,
Apache DLL, and CGI
􀀗 􀀗 􀀗
Page preview with HTML 4 support 􀀗 􀀗 􀀗
Web deployment wizard for deploying thin-client, zeroconfiguration
applications using the Web
􀀗 􀀗 􀀗
Web application wizards make getting started on Web
development a breeze
􀀗 􀀗 􀀗
Exclusive!: ActiveForms™ for building rich GUI forms for Win32®
client applications and browsers
􀀗 􀀗 􀀗
Internet socket components to customize your own
networked applications
􀀗 􀀗 􀀗
Borland® Database Engine (BDE) CAB file for easy distribution of
database applications over the Web
􀀗 􀀗 􀀗
JPEG support 􀀗 􀀗 􀀗
Active Server Object wizard for high-performance ASP
server development
􀀗 􀀗 􀀗
Borland DataSnap™ Web Services-enabled database middleware
New! Royalty-free distribution with unlimited licenses 􀀗 􀀗
Web client, GUI client, and Web Services access to any
supported RDBMS
􀀗 􀀗
SOAP/XML, COM, Web, and TCP/IP access connections
available for maximum network connectivity and flexibility
􀀗 􀀗
Easily build XML/SOAP Web Services interfaces to any
enterprise-class database—Oracle,® Microsoft SQL Server,™
IBM® DB2,® Borland InterBase,® and more!
􀀗 􀀗
Dataset-based architecture for rapid learning curve—use existing
skill sets to scale your applications
􀀗 􀀗
DataSnap support for dbGo,™ BDE, InterBase Express™ (IBX™),
and dbExpress data access architectures
􀀗 􀀗
High availability with object broker fail-over safety to guarantee
your data is ready when you need it
􀀗 􀀗
Load balancing to promote the highest performance even when
under the heaviest loads
􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
6
Distributed data with transaction processing extends the reach of
your applications while maintaining data integrity
􀀗 􀀗
Automatic database constraint propagation brings the business
rules to the client applications for local processing, conserving
server horsepower
􀀗 􀀗
Low-maintenance, thin, and easily-configured client-side
applications to reduce deployment costs
􀀗 􀀗
High-speed database connectivity yields higher performance in
your applications
􀀗 􀀗
Server object pooling maximizes the conservation of resources
on your servers, keeping material costs down
􀀗 􀀗
Supply data to thin-client applications rapidly, efficiently,
and securely
􀀗 􀀗
Remote DataBroker to more easily partition applications 􀀗 􀀗
TransactionResolver for transaction conflict resolution 􀀗 􀀗
Exclusive! Advanced support for Master/Detail Provider
and Resolver
􀀗 􀀗
BDE Resource Dispenser for Microsoft Transaction Server 􀀗 􀀗
Stateless DataBroker for more control in mobile and lowbandwidth
situations
􀀗 􀀗
Server object pooling for complete scalability 􀀗 􀀗
Provider options increase control over how and what information
is transmitted
􀀗 􀀗
Support for CORBA®
New! Borland® Enterprise Server, VisiBroker® Edition 4.5 for
Delphi 7 Studio including CORBA® client and server development
􀀗 􀀗
Wizards to simplify development of CORBA clients and servers 􀀗 􀀗
Borland® Enterprise Server, AppServer™ Edition support for
SIDL—build new rich applications and Web Services with the
Delphi RAD environment that uses EJB™ for AppServer Edition
􀀗 􀀗
Support for simultaneous COM and CORBA objects 􀀗 􀀗
High-performance native Windows® applications
High-performance 32-bit optimizing native-code compiler 􀀗 􀀗 􀀗 􀀗
Easily create reusable dynamically linked libraries (.DLL), COM
controls (.OCX), and stand-alone executables
􀀗 􀀗 􀀗 􀀗
Use and create dynamically loaded packages for maximum
application efficiency
􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
7
Inline assembler with support for full Intel® 32-bit x86 instruction
set (including Pentium® Pro, Pentium III, Pentium 4, MMX,®
SIMD, and Streaming SIMD Extensions (SSE and SSE2), and
AMD® 3DNow!™
􀀗 􀀗 􀀗 􀀗
Expression evaluation in compiler directives 􀀗 􀀗 􀀗 􀀗
Custom variants to support your own data types 􀀗 􀀗 􀀗 􀀗
Custom variant data handler for passing variants through
data sets
􀀗 􀀗 􀀗 􀀗
Custom variant in safe arrays 􀀗 􀀗 􀀗 􀀗
Expanded variant support for Int64 and the unsigned types 􀀗 􀀗 􀀗 􀀗
Complex number support via custom variants 􀀗 􀀗 􀀗 􀀗
Deprecated Hint Directive to help improve your
application development
􀀗 􀀗 􀀗 􀀗
Platform and Library Hint Directives to assist in
cross-platform development
􀀗 􀀗 􀀗 􀀗
Borland® Rapid Application Development (RAD) IDE
State-of-the-art IDE with a fully integrated Code Editor and
debugger, view history, easy-to-understand error messages, and
color syntax highlighting
􀀗 􀀗 􀀗 􀀗
New! Code completion for DTD described markup language
including HTML, WML, XHTML, XSL
􀀗 􀀗 􀀗
New! Message helper that hooks error messages
to documentation
􀀗 􀀗 􀀗 􀀗
New! Toggle visible symbols in editor that represent use of
whitespace as tabs or spaces
􀀗 􀀗 􀀗 􀀗
New! Syntax highlighting OpenTools API extension with built in
support for JavaScript, PHP, and INI files
􀀗 􀀗 􀀗
Enhanced! Ability to individually customize editor options for
particular file types
􀀗 􀀗 􀀗 􀀗
New! OpenTools API for code completion and symbol
table queries
􀀗 􀀗 􀀗
Enhanced! Component palette layout for quicker navigation 􀀗 􀀗 􀀗 􀀗
Fully customizable IDE layout with window docking and
floating toolbars
􀀗 􀀗 􀀗 􀀗
Multiple custom Desktop Layout Profiles for total control of your
development environment
􀀗 􀀗 􀀗 􀀗
Object TreeView for quick navigation and manipulation of the
objects in the current designer
􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
8
Object Inspector™ Subcomponent References to save
time locating linked components—directly drill-down
into subcomponents
􀀗 􀀗 􀀗 􀀗
Class Completion accelerates creating new object types 􀀗 􀀗 􀀗 􀀗
Packages in project manager 􀀗 􀀗 􀀗 􀀗
RTL package for non-visual development 􀀗 􀀗 􀀗 􀀗
Context-sensitive component palette displays only components
that can be placed on the currently active forms or data modules
􀀗 􀀗 􀀗 􀀗
Environment Variables in search path to enable automatic
location of required files
􀀗 􀀗 􀀗 􀀗
Advanced multi-target Project Manager 􀀗 􀀗 􀀗 􀀗
Data modules for centralized data integrity and business rules 􀀗 􀀗 􀀗 􀀗
Console Application Wizard for quickly writing
text-mode applications
􀀗 􀀗 􀀗 􀀗
RC Files integrated with the Project Manager and compiler 􀀗 􀀗 􀀗 􀀗
Both VCL and CLX™ Visual Form Inheritance and Form Linking 􀀗 􀀗 􀀗 􀀗
Editor Key mapping to fine-tune the editor to the way you work 􀀗 􀀗 􀀗
Project-wide browsing to better understand your code and to
navigate the VCL
􀀗 􀀗 􀀗
DataModule™ designer with Tree View and Data Diagram View to
gain a comprehensive understanding of the data in
your application
􀀗 􀀗 􀀗
Control Panel Wizard makes building control applets fast
and simple
􀀗 􀀗 􀀗
To-do lists to keep your development on schedule 􀀗 􀀗 􀀗
OpenTools API to integrate your favorite tools 􀀗 􀀗 􀀗
AppBrowser™ code editor with symbol hyperlinks and
navigation history
􀀗 􀀗 􀀗
Maximum reusability with Delphi™ object-oriented architecture
Object-oriented, fully extensible component and application
architecture in both VCL and CLX
􀀗 􀀗 􀀗 􀀗
Support for Windows common controls 􀀗 􀀗 􀀗 􀀗
VCL and CLX Visual Form Inheritance and Form Linking to
reduce coding and simplify maintenance
􀀗 􀀗 􀀗 􀀗
Object Repository for storing and reusing forms, DataModules,
and experts
􀀗 􀀗 􀀗 􀀗
Visual Component Library of drag-and-drop reusable components 􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
9
Component Library for Cross-platform of drag-and-drop reusable
components for Windows and Linux*
􀀗 􀀗 􀀗
Code Explorer for an instantly updated class reference for your
application’s unit files
􀀗 􀀗 􀀗
CodeInsight™—speed coding and reduce syntax errors
Code Templates Wizard for simplified code creation 􀀗 􀀗 􀀗 􀀗
Enhanced! Code Templates with the ability to create, modify,
and export templates for any file type
􀀗 􀀗 􀀗 􀀗
Code Completion Wizard to help ensure proper syntax 􀀗 􀀗 􀀗 􀀗
Code Parameter Wizard for displaying procedure, method, and
event parameter lists
􀀗 􀀗 􀀗 􀀗
ToolTip Expression Evaluation for easier debugging 􀀗 􀀗 􀀗
DLL Debugging saves time in creating and debugging DLLs 􀀗 􀀗 􀀗 􀀗
Class navigation short cuts 􀀗 􀀗 􀀗 􀀗
Class completion 􀀗 􀀗 􀀗
ToolTip Symbol Insight 􀀗 􀀗 􀀗
OpenHelp for easily customizing the contents of help 􀀗 􀀗 􀀗
Advanced debugging
New! Multi-tab watch view for logically grouping variables 􀀗 􀀗 􀀗 􀀗
New! Thread naming for easier debugging of multi-threaded
applications to identify threads by user defined name instead of
by thread ID
􀀗 􀀗 􀀗 􀀗
Enhanced! Watch view supporting inplace editing, checkbox
enable/disabling, and the watch names separated from the
values with columns
􀀗 􀀗 􀀗 􀀗
Full-featured debugger with color syntax highlighting 􀀗 􀀗 􀀗 􀀗
ToolTip Expression evaluation 􀀗 􀀗 􀀗 􀀗
New! Added support for multi-target debugging. Working directly
makes DLL debugging easier, providing more complete
debugging control of your application extensions
􀀗 􀀗 􀀗 􀀗
Multiprocess, cross-process, and attach-to-process debugging for
easy tracing through complex applications
􀀗 􀀗 􀀗 􀀗
Temporary Process Options for focused multiprocess debugging 􀀗 􀀗 􀀗 􀀗
Module view 􀀗 􀀗 􀀗 􀀗
Streamlined usability and integration among debug windows and
the editor including clipboard and drag-and-drop support
􀀗 􀀗 􀀗 􀀗
* Compliling applications for Linux® requires Kylix.™
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
10
Run until return 􀀗 􀀗 􀀗 􀀗
Advanced Breakpoints with DataAware triggers, ToolTips,
actions, and groupings for faster and complete debugging control
􀀗 􀀗 􀀗 􀀗
CPU View for low-level debugging 􀀗 􀀗 􀀗 􀀗
FPU view with support for MMX for enhanced
low-level debugging
􀀗 􀀗 􀀗
Debug spawned processes 􀀗 􀀗 􀀗
Attach to and debug running processes 􀀗 􀀗 􀀗
WinSight® 32 for monitoring Windows messaging 􀀗 􀀗 􀀗
Exclusive! Debug Inspector™ for monitoring component
properties while debugging
􀀗 􀀗 􀀗
Inspector view with fully qualified names 􀀗 􀀗 􀀗
Event log for showing process control messages and debug
output with enhanced log coloring for different event types
􀀗 􀀗 􀀗
Local Variables View 􀀗 􀀗 􀀗
Support for Multiple Evaluators for Borland C++Builder™
interoperability
􀀗 􀀗 􀀗
Easier debugging with DCUs and debug symbol search paths 􀀗 􀀗 􀀗
Remote Process debugging for distributed development 􀀗 􀀗
Delphi™ TeamSource for scaling RAD to your entire development team
Maintain development productivity while protecting your
source code
􀀗 􀀗
Easily manage source code change in large distributed
development teams
􀀗 􀀗
Automatic reconciliation greatly simplifies the task of
synchronizing developer changes with the master archive
􀀗 􀀗
Be in command of changes posted to the master archive with
comprehensive history tracking and publishing
􀀗 􀀗
Simplify the management of the milestones in your project with
Source Code Bookmarks
􀀗 􀀗
Support for PVCS® and other versioning engines with modular
version controllers
􀀗 􀀗
Simplifying international development
Comprehensive support for bi-directional text (left to right,
right to left)
􀀗 􀀗 􀀗 􀀗
Multibyte-enabled development environment 􀀗 􀀗 􀀗 􀀗
Multibyte-enabled VCL 􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
11
Dynamic Language switching at runtime 􀀗 􀀗 􀀗 􀀗
Resource DLL Wizard to kick-start the translation of
your application
􀀗 􀀗
Delphi Form (DFM) editing without source code 􀀗 􀀗
Translation Repository to facilitate the reuse of translated items 􀀗 􀀗
RC Translator to seamlessly integrate external components into
the translation
􀀗 􀀗
DFM Translator to seamlessly integrate Delphi form translation 􀀗 􀀗
Translation and Localization Manager to simplify localization of
your applications
􀀗 􀀗
RADical visual development
Visual Component Library (VCL)
VCL native components for Rapid Application Development 300+ 300+ 225+ 85+
New! Support for Windows XP Theme to modernize the look
of your applications
􀀗 􀀗 􀀗 􀀗
Windows® 2000-style Shell Control examples to modernize
your interface
􀀗 􀀗 􀀗 􀀗
Component Interface Reference architecture to surface
Component Interfaces in the Object Inspector
􀀗 􀀗 􀀗 􀀗
TdateTime extensions accelerate your date and time calculations 􀀗 􀀗 􀀗 􀀗
SubComponent classes combine commonly mixed components
for greater utility, and they speed the creation of user interfaces
􀀗 􀀗 􀀗 􀀗
Conversion unit simplifies measurement conversions 􀀗 􀀗 􀀗 􀀗
Visual Component creation 􀀗 􀀗 􀀗 􀀗
Package Manager to easily control the contents of custom
component packages
􀀗 􀀗 􀀗 􀀗
Modern UI features: docking, Intellimouse® support, minimum and
maximum component sizing constraints, and border anchors in
visual components
􀀗 􀀗 􀀗 􀀗
Action List for managing and directing commonly used code in
an application
􀀗 􀀗 􀀗 􀀗
Windows 98/Me/2000 support for Multi-Monitor, MonthCalendar,
PageScroller, and Flat Scrollbars
􀀗 􀀗 􀀗 􀀗
Owner Draw support in the Property Editors for simplifying
display of property choices
􀀗 􀀗 􀀗 􀀗
Support for Advanced Custom Draw functions for increased
control over the Windows API
􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
12
Action MainMenu and Action ToolBar components for
sophisticated and centrally controlled User Interface design with
dynamic Action Manager-driven UI surfaces
􀀗 􀀗 􀀗
Action Manager provides central management of your actions
and self-configuring dynamic User Interfaces, taking the tedium
out of UI design
􀀗 􀀗 􀀗
ActionBands™ customization manager gives your end-users total
control over ActionBands UI configurations at runtime!
􀀗 􀀗 􀀗
Windows NT® service applications 􀀗 􀀗 􀀗
Package Collection Editor 􀀗 􀀗 􀀗
ControlBar for creating floating toolbars in GUI applications 􀀗 􀀗 􀀗
Frames for building and reusing compound components 􀀗 􀀗 􀀗
Web browser component for integrating HTML browsing into
your application
􀀗 􀀗 􀀗
Set of Microsoft Office automation components to quickly
integrate your applications with Office applications such as Word,
Excel, and Outlook®
􀀗 􀀗 􀀗
CLX™ (Component Library for Cross-platform) development on Windows®/Linux®*
More than 160 CLX native components for Rapid Application
Development on Windows and Linux*
􀀗 􀀗 􀀗
BaseCLX™ RTL classes and components 􀀗 􀀗 􀀗
VisualCLX™ native GUI components and data-aware
visual controls
􀀗 􀀗 􀀗
VisualCLX GUI display components—Form, EditBox, Label,
Grids, Image, Bevels, Listbox, ComboBox, ListView, TreeView,
ProgressBar, and more
􀀗 􀀗 􀀗
VisualCLX GUI DataAware components—Navigator, EditBox,
Label, Grids, Image, Listboxes, Checkbox, RadioGroup,
LookupLists, and more
􀀗 􀀗 􀀗
VisualCLX GUI input components—Menus, PopupMenus,
Buttons, Checkboxes, RadioButtons, SpeedButtons,
SystemTimer, Sliders, and more
􀀗 􀀗 􀀗
VisualCLX GUI control components—Toolbars, Scrollbars,
Controlbars, Splitters, GroupBoxes, TabControls, PageControls,
StatusBars, and more
􀀗 􀀗 􀀗
Common CLX GUI dialogs—Open, Save, Font, ColorPicker,
Find, and Replace
􀀗 􀀗 􀀗
DataCLX™ highly scalable data-access components 􀀗 􀀗 􀀗
* Compliling applications for Linux® requires Kylix.™
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
13
Borland® Kylix™ 3 IDE for the Delphi™ language
New! Borland Kylix™ 3 Enterprise IDE for the Delphi language 􀀗 􀀗
New! Borland Kylix 3 Professional IDE for the Delphi language 􀀗
Borland source code
VCL source code 􀀗 􀀗 􀀗
CLX source code 􀀗 􀀗 􀀗
Property Editor source code 􀀗 􀀗 􀀗
Database architecture for connecting to corporate data
Highly scalable DataCLX™ database development architecture
The Delphi DataSet Abstraction layer makes database
programming easy, from local flat files to the most
powerful RDBMS
􀀗 􀀗 􀀗
Produce cross-platform applications with flexible data-aware
controls that are single-source between Delphi on Windows and
Kylix on Linux!*
􀀗 􀀗 􀀗
ClientDataSet-maintained aggregates and parameter support 􀀗 􀀗 􀀗
Advanced application-side transaction caching to optimize
RDBMS server connectivity
􀀗 􀀗 􀀗
DataSetProvider for flexible binary- and XML-distributed
data connectivity
􀀗 􀀗 􀀗
Provider Optional Parameters, calculated fields, and
field properties
􀀗 􀀗 􀀗
Master/Detail Provider and Resolver support 􀀗 􀀗 􀀗
On-demand Blobs 􀀗 􀀗 􀀗
MyBase™ XML Data Briefcases for transparent mobile and
low-bandwidth connectivity support
􀀗 􀀗 􀀗
CommandText property for building custom queries at client side 􀀗 􀀗 􀀗
Broad range of data-access options—get access to data your application needs
dbExpress for ultra high-performance native SQL RDBMS access 􀀗 􀀗 􀀗
Borland Database Engine (BDE) 5.1.1 􀀗 􀀗 􀀗
IBX for Direct-API access to Borland InterBase® 􀀗 􀀗 􀀗
All Delphi data-access options use common DataSet/DataCLX
Programming Model—use any data-access method with one
skill set
􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
14
dbGo for ADO 2.5 direct access to any ADO-compliant dataset,
from office applications to RDBMS
􀀗 􀀗 􀀗
Open database architecture—connect to all your data
Access, FoxPro,® Paradox,® and dBase® drivers for high-speed
access to desktop and LAN database systems
􀀗 􀀗 􀀗
Complete ODBC connectivity 􀀗 􀀗 􀀗
BDE API for direct open access to any database engine 􀀗 􀀗 􀀗
Support for autorefresh 􀀗 􀀗 􀀗
TCustomConnection class to easily integrate third-party
database solutions
􀀗 􀀗 􀀗
SQL links native drivers with unlimited deployment license for
InterBase, Oracle, Sybase,® Informix,® Microsoft SQL Server,
and DB2
􀀗 􀀗
Integrated database development tools—simplify client/server development
New! TSimpleDataSet to simplify use of dbExpress drivers 􀀗 􀀗 􀀗
New! ClientDataSet actions to simplify synchronization of
database actions with user interfaces
􀀗 􀀗 􀀗
Data-aware components to build powerful database applications 􀀗 􀀗 􀀗
DB Control Grid 􀀗 􀀗 􀀗
Cached updates for increased server responsiveness 􀀗 􀀗 􀀗
Database desktop for creating and managing Paradox and
dBase tables
􀀗 􀀗 􀀗
Database Explorer to visually browse and manage tables,
aliases, and indices
􀀗 􀀗 􀀗
Scalable Data Dictionary to maintain data integrity 􀀗 􀀗 􀀗
DBGrid support for Nested Tables, ADTs, Array and
Reference fields
􀀗 􀀗
SQL Explorer to visually manage server-specific meta-data,
including stored procedures and triggers
􀀗 􀀗
SQL Monitor to test, debug, and tune SQL applications for
optimal performance
􀀗 􀀗
SQL Builder for writing complex SQL easily 􀀗 􀀗
Data Migration Wizard for rapid upsizing and application scaling 􀀗 􀀗
dbExpress native cross-platform database connectivity—access all your data at extreme speed
Multiple transactions on a single connection 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
15
dbExpress high-performance database driver interface for open
access to any database engine
􀀗 􀀗 􀀗
Single-file distribution of dbExpress applications! 􀀗 􀀗 􀀗
High-performance database drivers
New! dbExpress driver for Microsoft SQL 2000 􀀗 􀀗
dbExpress drivers for InterBase, MySQL™ 􀀗 􀀗 􀀗
BDE local drivers for Paradox, dBase, FoxPro, Access 􀀗 􀀗 􀀗
dbExpress drivers for Oracle, DB2, and Informix 􀀗 􀀗
BDE SQL links for Oracle, Microsoft SQL Server, IBM DB2,
Informix, Sybase, and InterBase *
􀀗 􀀗
Borland MyBase™ personal XML database engine
Database Engine-in-a-component design for lightweight
single-file application distribution
􀀗 􀀗 􀀗
XML file database for complete simplicity and inter-operability 􀀗 􀀗 􀀗
Fast In-memory table performance 􀀗 􀀗 􀀗
Zero configuration for instant setup and simple
application distribution
􀀗 􀀗 􀀗
Small footprint—less than 300k linked in executable or 0k with
shared packages
􀀗 􀀗 􀀗
ANSI SQL 92 Expression Syntax for live filtering and aggregation 􀀗 􀀗 􀀗
Linkable master/detail table relationships 􀀗 􀀗 􀀗
ClientDataSet based with transparent scalability to dbExpress
and DataSnap for unlimited scalability
􀀗 􀀗 􀀗
Import SQL query results from any dbExpress RDBMS into local
MyBase XML tables
􀀗 􀀗 􀀗
Support for all popular data types including Blobs 􀀗 􀀗 􀀗
Advanced Borland InterBase® support
InterBase 6.5 support including IBX native API components 􀀗 􀀗 􀀗
InterBase 6.5 five-user development license to build and test
remote multi-user SQL applications
􀀗 􀀗
InterBase 6.5 two-user development license to build and test
local multi-user SQL applications
􀀗
* dbExpress, a SQL driver architecture, will replace BDE SQL Links―see
http://community.borland.com/article/0,1410,28688,00.html
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
16
Documentation, examples, and online help
Comprehensive online documentation for quick reference 􀀗 􀀗 􀀗 􀀗
Printed developer documentation for offline consulting 􀀗 􀀗 􀀗 􀀗
Sample applications to learn from and get started quickly 􀀗 􀀗 􀀗 􀀗
COM/ActiveX®/COM+ features
Automatic COM+ object setup with configuration attributes for
simplified COM+ object deployment
􀀗 􀀗 􀀗
Event object wizards speed linking to COM+ events and VCL
support for COM+ event registration
􀀗 􀀗 􀀗
Transaction objects take advantage of the latest transaction
control services in Windows
􀀗 􀀗 􀀗
Dual MTS/COM+ support for transaction objects 􀀗 􀀗 􀀗
Transaction datamodule for internal segregation of COM+
object elements
􀀗 􀀗
ActiveInsight™—an enterprise component foundry for maximum reusability
Active document support 􀀗 􀀗 􀀗 􀀗
COM/interfaces for language interoperability 􀀗 􀀗 􀀗 􀀗
Full Windows 95/98/Me/NT/2000 support for OLE Automation
Controllers and Servers
􀀗 􀀗 􀀗 􀀗
Runtime component packages for easily updated, small
application executables
􀀗 􀀗 􀀗 􀀗
Visual component creation for instantly creating
component templates
􀀗 􀀗 􀀗 􀀗
One-step ActiveForms to deliver applications over the Web 􀀗 􀀗 􀀗
Microsoft® ActiveX®
One-step industry-standard ActiveX® components for
maximum reusability
􀀗 􀀗 􀀗
Advanced Type Library Editor with complete support for
MS IDL editing
􀀗 􀀗 􀀗
Support for Automation Object event handling 􀀗 􀀗 􀀗
COM Object Wizard 􀀗 􀀗 􀀗
ActiveX® Control Data binding 􀀗 􀀗 􀀗
Support for sparse vtables to support VB servers 􀀗 􀀗 􀀗
Import COM servers as components to develop visually 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
ARCHITECT ENTERPRISE PROFESSIONAL PERSONAL
17
Third-party component solutions
Nevrona INDY—Internet Protocol Component Suite including
HTTP, FTP, SMTP, POP3, and more
􀀗 􀀗 􀀗
“Delphi Companion Tools” CD includes numerous third-party
components and tools
􀀗 􀀗 􀀗
TeeCharts 􀀗 􀀗 􀀗
InstallShield® MSI Lite 􀀗 􀀗 􀀗
InterBase 6.5 􀀗 􀀗 􀀗
Commercial development license for professional software sales 􀀗 􀀗 􀀗
* Compiling applications for Linux® requires Kylix.™
Made in Borland® Copyright © 2002 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the
United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other marks
are the property of their respective owners. • 13305.1

Published in: on 24 January 2010 at 2:15 pm  Leave a Comment  
Tags: , ,

Sensualitas Karim Rashid di Asus Eee PC

Teknologi Informasi

<!–

–>Jumat, 22-01-10 | 21:03 | 79 View


(Foto, Int)

ASUS mengenalkan varian baru Eee PC Seashell Karim Rashid Collection (1008P). Produk itu realisasi visi Karim soal komputasi lebih sensual, manusiawi, dan lebih modern. ASUS mengklaim 1008P sangat kontemporer dan bernilai nostalgia, lebih memukau, lebih bersilangan, dan dirancang untuk kaum muda pencipta tren mobile sembari mempertahankan kemewahan bagi setiap orang.

Eee PC Seashell Karim Rashid Collection merefleksikan pandangan Karim dan ASUS akan fungsi, bahan baku, performa, tekstur, warna, dan kemudahan penggunaan yang tak terpisahkan dari keindahan setiap benda.

Produk itu dirancang untuk merangsang kelima indra manusia, termasuk sensasi sentuhan, yang sering terabaikan pada penggunaan PC. Melalui sentuhan akhir yang inovatif, ASUS memanjakan telapak tangan dan ujung jari pemakai produknya.

Eee PC Seashell Karim Rashid Collection tersedia dalam pilihan warna Hot Pink yang berani dan glossy, atau Coffee Brown dalam sentuhan matte. Eee PC Seashell Karim Rashid Collection dilengkapi dengan desain display LED-backlit tanpa bingkai berukuran 10,1 inci dan keyboard ergonomis chiclet.

Sementara kedahsyatan komputasinya didukung CPU terbaru Intel Atom N450. Chip hemat energi itu dipadukan teknologi pengaturan energi eksklusif milik ASUS, Super Hybrid Engine, yang berdaya baterai 6 jam untuk setiap kali charge.

Eee PC Seashell Karim Rashid Collection juga menawarkan akses instan ke Internet. Sementara berkat Express Gate, sistem operasi tambahan itu mampu melakukan boot up dalam hitungan detik. Express Gate memungkinkan pengguna untuk melakukan panggilan Skype, menjelajahi web, menampilkan foto, bermain game online, dan chatting melalui pesan instan. (ic)

Published in: on 23 January 2010 at 10:44 am  Leave a Comment  
Tags: ,

Printer Kecil dengan Ribuan Fitur

Teknologi Informasi

<!–

–>Rabu, 13-01-10 | 14:10 | 181 View

Heboh Printer Polaroid

Pihak LG tampil heboh dalam Consumer Electronics Show (CES) 2010 di Vegas Convention Center, Las Vegas, Nevada, Sabtu 9 Januari. LG berhasil memukau pengunjung dengan mengenalkan printer polaroid, Pogo Pro dengan ukuran kecil berlayar 3×4 inci.

Printer ini disebutkan memiliki 2.500 fitur yang include di dalamnya. Dari ribuan fitur itu, ada di antaranya perangkat koneksi berupa wireless (Wi-Fi). Selain itu, ada juga koneksi nirkabel berupa Bluetooth.

Dengan demikian, pemilik printer polaroid ini bisa menggunakan Bluetooth atau Wi-Fi mengambil objek yang ingin dicetak dari perangkat pendukung lainnya, seperti dari kamera yang sudah menggunakan Bluetooth. Anda juga bisa mengambil data yang berada pada email untuk dicetak. (syn)

Published in: on 23 January 2010 at 9:30 am  Leave a Comment  
Tags: ,

Pengguna Facebook Diminta Hati-hati: Info Untuk Pengguna Facebook

Teknologi Informasi

<!–

–>Senin, 18-01-10 | 21:15 | 1279 View

FACEBOOK makin digandrungi banyak kalangan. Namun, di Malaysia, pengguna facebook diminta hati-hati. Terutama umat Islam. Menteri Informasi dan Komunikasi dan Kebudayaan Malaysia, Datuk Seri Dr Rais Yatim, mewanti-wanti agar umat Islam menghindari untuk tenggelam dalam budaya internet, terutama facebook dan twitter.

Namun, pihaknya juga tidak melarang penggunaan fasilitas teknologi informasi itu. “Kami tidak mengatakan bahwa mereka tidak boleh menggunakan facebook atau twitter, tetapi ketika menggunakan fasilitas tersebut mereka harus memelihara nilai-nilai yang diajarkan oleh Islam, Budha atau Kristen untuk menjaga budaya kita,” kata Menteri kepada wartawan usai membuka Seminar Konsep 1-Malaysia, sebagaimana disiarkan INILAH.COM, Minggu, 17 Januari.

Dia menambahkan, warga Malaysia yang menggunakan layanan internet di situs jaringan sosial harus berhati-hati dengan apa yang mereka lihat dan dengar. “Kita harus kuat dalam keyakinan dan budaya kita, karena identitas dan citra negara kita tergantung pada kita. Mereka hanya menjual facebook, twitter, L-Band dan berbagai layanan lain, bahkan di ruang angkasa sebagai sebuah produk. Kita menerima semua itu sebagai gegar budaya,” katanya.

Dia pun mencaci beberapa orang Malaysia yang meremehkan orang-orang yang tidak cerdas menggunakan facebook dan Twitter. “Kita tidak boleh cepat menghukum atau memandang rendah mereka yang tidak menggunakan facebook. Koran masih penting, begitu juga facebook, tapi jangan terbawa dengan segala hal dan mengabaikan sistem lama,” katanya.

Rais juga memuji Komisi Komunikasi dan Multimedia Malaysia (SKMM) yang berhasil melacak mahasiswa di National Arts Culture and Heritage Academy. Mahasiswa itu memposting komentar yang mengancam keselamatan publik di facebook, menyusul banjir serangan terhadap gereja menyangkut penggunaan kata Allah oleh warga non-Muslim. (int)

Published in: on 23 January 2010 at 9:13 am  Leave a Comment  
Tags: ,

Printer baru membuat Windows crash

Print E-mail
Friday, 14 August 2009
Image
Perangkat lama mengganggu Driver untuk printer lama ditampilkan dalam Device-Manager hanya bila variabel lingkungannya disesuaikan

MASALAH: Setelah printer lama seorang pembaca CHIP rusak, sebuah perangkat multifungsi HP terletak di mejanya. Semua sempurna, bila bukan XP: Sistem operasi ini selalu crash, ketika ia ingin mencetak. Putus asa ia menghubungi CHIP.

DIAGNOSIS: Tes pertama membuat prihatin: Begitu kami menekan tombol ‘Print’ di bawah Word, Windows hanya menampilkan layar biru dan hang. Mungkin printernya sendiri yang bermasalah. Ini bisa cepat diperiksa. Kami hubungkan printer ke PC lain. Ternyata ia mencetak tanpa masalah. Dengan demikian kami juga dapat mencoret kabel printer sebagai kemungkinan sumber masalah. Sebelum menginstalasi ulang seluruh sistem, kami mencoba peruntungan di forum printer Internet dan berhasil.

SOLUSI: Penyebab masalah adalah driver untuk printer lama. Solusinya tampak sederhana: Singkirkan driver ybs. Lebih mudah dikatakan daripada dilakukan, soalnya dalam Device-Manager Windows hanya menampilkan driver perangkat yang terkoneksi. Semua lainnya aktif, tetapi hanya dapat ditampilkan dengan sebuah trik:

Kami tekan pada keyboard tombol Windows dan tombol Pause untuk sampai ke System-Properties. Dalam tab ‘Advanced’ selanjutnya kami mengklik ‘Environment Variables’ dan di bawahnya pada ‘New’. Sebagai nama kami cantumkan ‘devmgr_show_nonpresent_devices’ dan sebagai ‘Value’ angka ‘1’.

Kami konfirmasikan dengan ‘OK’ dan merestart PC. Dalam Device-Manager kami klik ‘View| Show hidden Devices’ agar XP menampilkan driver printer lama. Dengan sebuah klik kanan pada perangkat dan perintah ‘Uninstall’ kami singkirkan biang keladinya dari PC. Sekarang pembaca CHIP tersebut dapat mencetak tanpa Windows-crash.

Published in: on 22 January 2010 at 7:54 pm  Leave a Comment  
Tags:

Cara Share Internet Dengan 2 LAN ( Koneksi Internet )

Cara Share Internet Dengan 2 LAN

Ini adalah cara share koneksi internet kabel dengan 2 LAN pada windows XP. Ada 4 langkah :

1. Jaringan default dari kabel ISP
2. Setting windows agar bisa share koneksi
3. Setting IP pada tiap LAN card
4. Hubungkan LAN kedua dan silahkan browsing

Keterangan :

1. Jaringan default dari kabel ISP :
ISP via tv kabel->cable modem->LAN card komputer pertama, pastikan internetnya sudah hidup dan sudah bisa browsing.
2. Settign windows agar bisa share koneksi :
start->Programs->accessories->Communications->Network Setup Wizard Next sampai muncul windows.

Defaultnya adalah LAN Card yang konek ke internet.

Lalu next saja sampai selesai. kalau minta di save ke disket di tolak jawab NO dan finish.

Pastikan Internet Connection Sharing pada LAN properties pada komputer pertama yang terhubung ke cable modem terpilih. Cek “Allow other network users to connect through this computer’s Internet connection” internet connection sharing.

3. Setting IP pada tiap LAN card :

Setting LAN card yang ke Internet(komputer 1)- default dari teknisinya.
– Obtain an IP address automaticaly
– Obtain DNS Server Address Automatically

Setting LAN card yang menuju Komputer Lain (komputer 1) :
IP Address : 192.168.0.5
Subnet Mask : 255.255.255.0
Default Gateway : Kosongin aja
DNS : Kosongin aja

Setting LAN Card pada komputer Lain(komputer 2,3,4,5,dsb):
IP Address : 192.168.0.10
Subnet Mask : 255.255.255.0
Default Gateway : 192.168.0.5
Prefered DNS Server : Samakan dengan DNS pada LAN yang konek ke Internet
Alternate DNS Server : Samakan dengan DNS pada LAN yang konek ke Internet

4. Hubungkan LAN kedua dan silahkan browsing :

Sambungkan LAN card anatara komputer 1 dan komputer 2 dengan menggunakan kabel cross. Silahkan browsing.

Tambahan bagi yang tidak tahu cara setting IP :
Start->Setting->Control Panels->Network Connections
Klik kanan->Properties(pada Local Area Connection)
pada Tab->general
cari This connection use the following items->Internet Protocol(TCP/IP)
klik properties->pada tab general pilih obtain an IP address automatically
ini setting yang DHCP, untuk yang statik pilih Use this following IP address.

Bagi yang tidak tau cara liat DNS :
Star->Setting->Control Panels->Network Connections
klik kiri 2x pada LAN card yang konek ke internet
pada Tab->Support
ada tombol detail, disana ada yang namanya DNS server, itulah DNS dynamic yang diberikan oleh ISP anda.

Note :
1. gunakan kabel cross untuk menghubungkan lan card pc1 dan lan card pc2.
2. gunakan kabel straight untuk menghubungkan cable modem dan lan card pc1.

Ringkasan :
1.pastikan koneksi internet dari ISP sudah jalan.
2. share koneksi pada LAN card pertama.(lihat pada windows agar bisa share koneksi)
3.setting IP, subnet mask, gateway dan dns pada tiap LAn card.
4.selamat internet anda sudah di share
5.jangan lupa gunakan kabel cross untuk menghubungkan lan card pc1 dan lan card pc2.

Published in: on 22 January 2010 at 4:38 pm  Leave a Comment  
Tags: