Bug na IDE do PowerBuilder 10

Bug na IDE do PowerBuilder 10

Overview

Ah, os pequenos percalços do mundo da programação! Hoje vou compartilhar com vocês um incidente curioso que encontrei na IDE do PowerBuilder 10. Aquele tipo de bug que chega de mansinho e te pega de surpresa justamente quando você menos espera. Mas não tema, sua aplicação está a salvo! Acompanhe aqui uma dica rápida para driblar esse infortúnio.

Talvez esteja um pouco tarde para reportar este problema, mas outro dia me deparei com um Bug na IDE do PowerBuilder 10 (10.2.1). Primeiro de tudo: Não se preocupe, sua aplicação não está afetada por este bug…ele faz o PB dar um crash e fechar antes de conseguir salvar as alterações do fonte.

Como reproduzir o erro:

long ll_NameLength
dwObject ldo_obj

ll_NameLength = Len(dwobject.Name)

O problema está em tentar recuperar o tamanho do conteúdo da propriedade Name de um dwObject. Isso afeta diretamente evento da datawindow como, por exemplo, o itemchanged.

Após escrever o comando acima e tentar salvar, você será agraciado com as seguintes mensagens:

Image without description

Image without description

Image without description

Image without description

Independente das opções que você escolha (Abort, Retry ou Ignore), o PB não vai salvar seu trabalho e irá fechar em pouco tempo (ou imediatamente).

Não tive como testar com o PowerBuilder 11, mas testei com o 12.5 e este erro já não acontece mais.

Como evitar este bug?

Simples, basta separar as coisas. Veja o exemplo abaixo:

string ls_Name
long ll_NameLength

ls_Name = dwobject.Name
ll_NameLength = Len(ls_Name)

É isso. Este é um bug de baixo impacto, mas que pode ser um grande inconveniente, se você for pego de surpresa.

Espero que ajude.