Esse artigo faz parte da revista Clube Delphi edição 11. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Update Pack 5.01

Confira as soluções trazidas pela atualização do Delphi 5

Continuamos com a série exibindo as correções do último UpdatePack do Delphi5. Na edição passada nos detemos ao acesso a dados da ferramenta. Iremos mostrar os outros tipos de problema encontrados na ausência do Updatepack - como a VCL e a IDE do Delphi. É importante notar que todos os itens listados nesta secão foram corrigidos pela atualização do Delphi. Se você conhece algum comportamento estranho da linguagem, contribua com a comunidade, enviando um email para admin@clubedelphi.com.br

 

IDE

Por vezes, um Access Violation é gerado quando a palheta de alinhamento é utilizada, principalmente para centralizar horizontalmente ou verticalmente.

 

Propriedade GroupIndex

Access Violations também podem ser geradas quando alteramos a propriedade GroupIndex de um item de menu, para um valor menor do que o item anterior. No Delphi 4, uma mensagem de erro mais amigável era exibida.

 

MIDAS

 

TLargeIntField

Um TLargeIntField não pode ser utilizado como um campo calculado.

 

Objeto TclientdataSet

Este objeto não consegue prover os dados de uma query que possua uma clausula ORDER BY como "ORDER BY UPPER(nome_do_campo)". A mensagem de erro "UPPER(nome_do_campo) not found" é gerada.

 

Relacionamento Master Detail

Em alguns casos, o objeto TclientDataSet pode exibir uma relação de registros de forma incoerente, caso o master corrente não possua nenhum registro detalhe.

Campo WideString

Prover os dados de um clientdataset que contém um campo WideString também gera um Access Violation.

 

Aggregate Fields

Campos agregados não funcionam em um clientdataset em tempo de execução, caso a propriedade Active do objeto seja definida como TRUE em tempo de projeto. Se a propriedade Active for definida como TRUE em tempo de execução, estará tudo ok.

 

WideString II

Não é possivel criar um campo do tipo ftWideString em um ClientDataset a partir do metodo CreateDataset. Um campo do tipo ftString sera criado pelo Delphi.

 

XML

O MIDAS também apresenta um pequeno problema ao criar arquivos XML. Se o dataset estiver vazio, o arquivo será criado de forma inconsistente. Ao tentar abrir o arquivo, a mensagem de erro "Mismatch in Datapacket " será exibida.

 

TDBDataSet

Controlar manualmente a transacao não é possivel com o objeto TDBDataSet. A mensagem de erro "A user transaction is already in progress" será exibida.

 

VCL

Arrastar um Toolbar contido em um frame para um docksite causa um Access Violation.

 

TPANEL

Colocar três paineis dockados em outro causa um erro de divisão por zero.

 

TmediaPlayer

Não dá play em arquivos WAV se a propriedade DeviceType estiver setada para dtWaveAudio.