Delphi 2007 for Win32 Novidades e Migração a Partir by marlyfinn

VIEWS: 357 PAGES: 10

									Delphi 2007 for Win32: Novidades e Migração a Partir de Versões Anteriores
Este artigo apresenta as principais novidades do Delphi 2007 for Win32 para aplicações desktop, além de abordar alguns pontos relevantes na migração de aplicativos para esta que é considerada a melhor versão do Delphi de todos os tempos. Sobre o Produto O Delphi 2007 for Win32 revitaliza o desenvolvimento para a plataforma Win32, combinando a consagrada abordagem visual do Delphi Rapid Application Development para o desenvolvimento acelerado de aplicações Win32, com o suporte a Windows Vista, AJAX e uma eficiente conectividade com Banco de Dados. O produto tem como público-alvo desenvolvedores Win32 que estão aguardando para atualizar projetos existentes, ou ainda iniciar novos, adicionando às suas aplicações suporte completo ao Windows Vista, incluindo aplicações com temas, suporte para Glass na VCL, novos diálogos para abertura e salvamento de arquivos, componentes Task Dialog, entre outros. Se você pulou as versões 2005 e 2006 do produto, o Delphi 2007 for Win32 é a versão que você não pode deixar de utilizar. Edições O Delphi 2007 for Win32 está disponível em duas versões: Professional e Enterprise. A versão Professional inclui suporte completo ao sistema operacional Windows Vista e AJAX para desenvolvimento de páginas WEB interativas. Também dispõe de drivers para conexão ao Interbase e MYSQL. A versão Enterprise inclui todas as funcionalidades da versão Professional, adicionando suporte a banco de dados corporativos, como Oracle 10g, MSSQL 2000/2005, Informix 9x, DB2 8.x e Sybase 12.5). Também encontramos na versão Enterprise funcionalidades avançadas do Together (ferramenta de modelagem UML embutida no produto), incluindo novos diagramas, patterns, geração de código-fonte e documentação, auditoria e métricas, importação e exportação em XML, entre outros tantos recursos. Migração a Partir de Versões Anteriores Alto índice de compatibilidade entre versões é talvez o ponto mais forte do Delphi entre todas as suas versões. Nenhuma outra ferramenta de desenvolvimento tem permitido tamanha longevidade aos projetos de software. Hoje é possível partir de

uma aplicação desenvolvida em Delphi 1.0 (1994/1995!), carregá-la na última versão da ferramenta e executá-la com alterações mínimas (desconsiderando-se aqui o emprego de componentes de terceiros eventualmente descontinuados ou incompatíveis). Em outras palavras, isto significa uma redução radical de custos de migração, alto índice de reaproveitamento de código, além de respeito pelo seu tempo e conhecimento investidos na ferramenta. Falando especificamente de migrações a partir do Delphi 2006 (formalmente BDS 2006), temos uma compatibilidade de 100%. Quanto a componentes de terceiros que sempre foram oferecidos juntamente com a ferramenta, tais como QuickReport e TeeChart, todos estão disponíveis para os usuários registrados, o que torna o processo de migração bastante suave. Novos Recursos Novo Instalador O Delphi 2007 for Win32 agora é instalado através do InstallAware (www.installaware.com), o qual permite atualizações do produto automáticas. Além disso, uma versão do InstallAware (InstallAware Express CodeGear Edition) é fornecida juntamente com o pacote do Delphi 2007 para que os usuários possam criar seus próprios instaladores.

Figura 1 - Novo Instalador baseado no InstallAware

Suporte ao Windows Vista A VCL do Delphi recebeu alterações para suportar os novos recursos do Windows Vista de maneira transparente ao desenvolvedor. Aplicações compiladas no Delphi 2007 são executadas normalmente em qualquer versão 32 bits do sistema operacional Windows. Porém, quando executadas no Windows Vista, incorporam seus recursos visuais de maneira automática. Vamos aos principais recursos adicionados a VCL para suporte ao Windows Vista: 1. Temas O suporte a temas, como os disponíveis no Windows XP e Vista, é padrão para todas as novas aplicações criadas no Delphi 2007, bem como para a própria IDE do Delphi quando executada nesta versão do Windows.

Figura 2 - IDE do Delphi 2007 no Windows Vista

De qualquer maneira, habilitar o suporte a temas para aplicações criadas em versões anteriores e migradas para o Delphi 2007 é uma tarefa bastante simples. Basta selecionar “Enable Runtime Themes”, localizado em Project | Options | Application (ou Ctrl-Shift-F11):

Figura 3 - Opção Enable Runtime Themes

2. Efeito Glass e Recursos do AERO O suporte ao efeito Glass na VCL permite habilitar ou não este efeito para as bordas dos formulários através de uma simples propriedade (GlassFrame), além de controlar o tamanho das mesmas. Se o tema AERO estiver disponível no seu Windows Vista, também é possível tornar um formulário ou diálogo totalmente translúcidos através da propriedade SheetOfGlass.

Figura 4 - Efeito Glass Aplicado as Bordas do Formulário

Outro recurso interessante, disponível na VCL do Delphi 2007, é o suporte ao recurso “Window Preview” do Windows Vista, o qual faz com que uma versão reduzida da aplicação seja exibida sempre que o usuário aponta para ela na barra de tarefas do Windows.

Figura 5 - Efeito Window Preview

3. Novos Diálogos e Mensagens Quando uma nova aplicação é criada ou migrada para o Delphi 2007, os diálogos e mensagens automaticamente assumem o aspecto visual do Windows Vista (quando a aplicação em questão é executada neste sistema operacional e o suporte a temas está habilitado), conforme podemos notar abaixo:

Figura 6 - Diálogos e Mensagens

Porém, as novas funcionalidades disponibilizadas na VCL do Delphi 2007 permitem avançarmos mais, fazendo com que a nossa aplicação utilize todos os novos recursos do Windows Vista, e ao mesmo tempo mantenha a compatibilidade com as versões anteriores do Windows. Tomemos como exemplo a mensagem acima. Uma nova função chamada “TaskMessageDlg” foi introduzida para exibição de mensagens como esta, a qual pode substituir o conhecido “MessageDLG” apenas adicionando-se um novo parâmetro (Title), conforme ilustrado abaixo:

Figura 7 – Utilização do TaskMessageDlg

A nova mensagem será exibida da seguinte maneira, lembrando sempre que sua aplicação continua 100% compatível com as versões anteriores do Windows:

Figura 8 – TaskMessageDlg em Ação

Ainda no campo dos diálogos, encontramos no Delphi 2007 for Win32 três novos componentes disponíveis na categoria Vista Dialogs: TFileOpenDialog, TFileSaveDialog e TTaskDialog. Como o próprio nome diz, estes são componentes exclusivos para o Windows Vista, ou seja, não são compatíveis com as versões anteriores do Windows e fazem uso de recursos avançados disponíveis somente nas aplicações direcionadas exclusivamente para esta versão do sistema operacional. Vamos exemplificar a utilização do mais interessante deles, o TTaskDialog, o qual pode ser configurado visualmente com botões personalizados, caixas de seleção, entre outros recursos:

Figura 9 – Novo Componente TTaskDialog para Windows Vista

Novo Framework DBX4 O Framework DBExpress, componentes de acesso a banco de dados, sofreu avanços significativos em sua infra-estrutura, porém essas alterações ocorreram somente nas camadas internas, o que significa que os componentes continuam funcionando normalmente e são compatíveis com as aplicações existentes. Portanto, a migração de aplicações DBExpress para o Delphi 2007 ocorre de forma transparente, além de adicionar um significante ganho de performance em suas aplicações. Entre as principais novidades da DBX4 estão o suporte a Delegates, que permite a criação de objetos de Pooling e Tracing de maneira simplificada, um novo modelo para a construção de drivers de conexão, que torna fácil a criação de novos drivers de banco de dados (além daqueles fornecidos nativamente), e o suporte a drivers gerenciados e não gerenciados, elevando o DBExpress a categoria de framework padrão de conexão a banco de dados no Delphi, tanto para aplicações Win32 como também para aplicações .NET. Isso significa que poderemos escrever um único código (regras de negócio, por exemplo) o qual poderá ser compilado tanto em Win32 quanto .NET! Abaixo temos a lista de banco de dados suportados atualmente pelo DBExpress:
• • • • • • • • •
InterBase 7.5.1, 2007, 6.5*, 7.0*, 7.1* (All) (Driver dbxINT30.dll, Client GDS32.DLL) Oracle 10g, 9.1.0*, 9.2.0* (Ent) (Driver dbxORA30.dll, Client OCI.DLL) DB2 UDB 8.x, 7.x* (Ent) (Driver dbxDB230.dll, Client db2cli.dll) MSSQL 2000, 2005 (Ent) (Driver dbxMSS30.dll, Client oledb.dll) Informix 9.x (Ent) (Driver dbxINF30.dll, Client isqlb09a.dll) Adaptive Sybase Anywhere 9, 8* (Ent) (Driver dbxASA30.dll, Client dbodbc9.dll) Sybase 12.5 (Ent) (Driver dbxASE30.dll, Client libct.dll & libcs.dll) MySQL 5.0.27, 4.1.22* (All) (Driver dbxMYS30.dll, Client libmysql.dll) MySQL 4.0.24 (All) (Driver dbxMYSA30.dll, Client libmysql.dll)

Vamos exemplificar uma das novidades do DBX4, o suporte a Delegates. O Delphi traz dois delegates nativamente implementados: TDBXTrace (para suporte a trace de conexões) e o TDBXPool (para suporte a Pool de conexões). Utilizaremos o TDBXTrace para verificar tudo o que ocorre no DBExpress Framework, e por conseqüência no banco de dados, durante a execução de uma determinada instrução SQL. Para habilitar o Delegate de Trace basta ajustar uma única propriedade nos parâmetros da conexão do banco de dados, localizada no arquivo dbxconnections.ini:
[DBDEMOS] DelegateConnection=DBXTraceConnection DriverName=Interbase DriverUnit=DBXDynalink

A primeira linha indica que quando a conexão ao banco DBDEMOS ocorrer, será acionado o Delegate configurado em DBXTraceConnection. As propriedades de DBXTraceConnection também estão definidas no mesmo arquivo de configuração (dbxconnections.ini) da seguinte forma:
[DBXTraceConnection] DriverName=DBXTrace TraceFile=c:\temp\dbxtrace.txt TraceFlags=PARAMETER;ERROR;EXECUTE;COMMAND;CONNECT;TRANSACT;BLOB;MISC;VENDOR;READER;DRIVER_LOAD;MET ADATA TraceDriver=false

Executando um comando SQL qualquer através da aplicação exemplo (abaixo) e abrindo em seguida o arquivo texto que receberá o resultado do Trace (indicado na segunda linha da configuração acima), observaremos o seguinte resultado:
Log Opened ========================================== {CONNECT } ConnectionC1.Open; {COMMAND } CommandC1_1 := ConnectionC1.CreateCommand; {COMMAND } CommandC1_1.CommandType := 'Dbx.SQL'; {COMMAND } CommandC1_1.CommandType := 'Dbx.SQL'; {COMMAND } CommandC1_1.Text := 'SELECT * FROM ORDERS'; {PREPARE } CommandC1_1.Prepare; {COMMAND } ReaderC1_1_1 := CommandC1_1.ExecuteQuery; {READER } { ReaderC1_1_1 closed. 205 row(s) read } {READER } FreeAndNil(ReaderC1_1_1); {COMMAND } FreeAndNil(CommandC1_1);

Podemos observar o código Delphi que indica como o DBExpress Framework está sendo acionado e os comandos enviados ao banco de dados.

Figura 10 - Delegates no DBX4

Conclusão Abordamos acima alguns dos novos recursos do Delphi 2007 for Win32, focando principalmente aqueles que são relevantes para quem está pensando em migrar sua aplicação para a versão mais recente da ferramenta. Muitas outras funcionalidades novas estão disponíveis, como o novo sistema de Build baseado no MSBuild, o suporte a AJAX na VCL for WEB (IntraWeb), além de uma radical ampliação da Qualidade, Performance e Produtividade da IDE. Muitos outros artigos estão disponíveis no CodeGear Developer Network (http://dn.codegear.com) , não deixe de visitar o site regularmente. Outras Referências (em inglês) Novos recursos da IDE desde o Delphi 7: http://dn.codegear.com/article/34323 Novos recursos do Delphi Language desde o Delphi 7: http://dn.codegear.com/article/34324 Novos recursos da VCL desde o Delphi 7: http://dn.codegear.com/article/34325 Fernando Luiz Rizzato, Senior Architect, Education Services Team, CodeGear.


								
To top