domingo, 16 de novembro de 2008

uniPaaS 1.5

uniPaaS 1.5

     Liberada a nova versão da ferramenta de desenvolvimento uniPaas versão 1.5 prometendo uma nova era para o desenvolvimento de sistemas.  Como o nome já disse a intenção é num único ambiente de desenvolvimento trazer o que a de melhor para o mundo do desktop  e web.

    Para o ambiente desktop foram anunciados varias melhorias para acelerar o desenvolvimento de novos e sofisticados aplicativos. Imagens animadas e com transparência, tooltip para funções no Editor de Expressões, hiperlink com possibilidade de troca de cores entre outras mais, são velhas reivindicações atendidas para esta versão.

    Já para o mundo web a troca de componentes Java para .Net promete dar mais estabilidade. A grande sacada da versão é o desenvolvimento RIA em inglês Rich Internet Application, traduzindo seria algo como Aplicações ricas para web, neste leia-se JavaScript e Ajax, é a ferramenta RAD entrando para o universo web 2.0.



Com a versão, você recebe duas demos dos aplicativos:


Magic Optmizer - ferramenta que analisa seu código e passa importantes informações sobre a estrutura do seu ambiente.

RM Comverter - ferramenta para retirar o RM Compatible que ocorre na conversão do versão 9 para 10. Permitindo a você iniciar o mais breve possível no mundo RIA.


Novos certificados

Os seguintes databases foram liberados e agora estão certificados:

  • MSSQL 2008
  • Oracle 11g

O seguinte sistema operacional foi checado e agora certificado:

  • Windows 2008 Server



Novas recursos, mudança de comportamento


Editor de expressões (Expression Editor)

  • A descrição da sintaxe da expressão foi acrescentada a lista de funções, tornando mais fácil para o desenvolver conhecer as funções
  • Um dinâmico tooltip exibindo a sintaxe da função foi adicionado. O Tooltip é aberto automaticamente mas você pode invocar novamente pressionando Ctrl+space


Lista de variáveis coloridas

As variáveis agora mudam de cor conforme o seu tipo (Virtual, Parameter ou Column)


Push Bottom

O Push Bottom control recebeu novas funcionalidades, agora é possível enviar parâmetros quando o botão é disparado através de um Raise Event.


Quando utilizado como um hiperlink, agora é possível alinhar horizontalmente (Esquerda, Direta, Centro)


    Adiciona a propriedade de Cor para o Hiperlink, com isso não teremos mais apenas hiperlinks com a cor cinza.



Tab

Uma nova propriedade chamada "Visible Layer List" promete definir as Guias que serão listadas no Runtime e também você poderá mostrar, esconder ou reordenar todas as guias com muito mais facilidade.



Imagens

Esta versão passa a suportar imagens transparente e animadas.




Modify in Query


O controle Modify in Query mode foi extendido para Edit e Check Box.



Evento Control Modify

Um novo evento chamando "Control Modify" foi adicionado. Este evento será disparado toda vez que um controle for modificado. Isto lhe ajudará a escrever uma lógica para ser executada após um valor ser alterado, inclusive caracter a caracter, sem que o usuário saia do controle. Para pegar o valor que o usuário está digitado você pode usar a função Editget().



Verify Operation

O Verify Operation recebeu as seguintes novidades:


  • Possibilidade de informar o título

  • Selecionar uma imagem para ser mostrada na janela de mensagem

  • Selecionar os tipos de botões que serão listados

  • Definir o tipo de mensagem que irá aparecer no log de mensagem



Chamadas entre programas

Um recurso bem interessante que foi incluído na versão é a capacidade de pular para um programa definido na operação Call Program. Para abrir o programa, basta pressionar Ctrl+F5 em cima da linha da operação. O eDev10 irá automaticamente abrir o programa, para retornar ao programa original basta pressionar Ctrl+Shift+F5.

Este recurso também pode ser acessado via Menu de Opções.


 

Open Aplication com parâmetro

Uma novo parâmetro opcional foi incluído no evento Open Aplication. Este parâmetro permite ao desenvolvedor trocar de aplicações sem a necessidade de uma intervenção do usuário.




Melhorias na função DBName()

Um novo parâmetro opcional (tipo informação) foi incluído na função DBName() para retornar informações adicionais da tabela, como Database name.



Função CabinetUnload()

Uma nova função foi adicionada para permitir ao desenvolvedor descarregar o componente. Através desta função é possível deduzir que cada componente carregado consome memória, então tenha zelo ao utilizar componentes na sua solução.



Mensagem de aviso para Programas grandes

A verificação de programas recebeu melhorias, como mostrar uma mensagem quando a performance do programa pode ser prejudicada pelo tamanho do mesmo. A verificação do tamanho pode ser ativada através de um novo item na sessão Special chamado "SpecialProgXMLSizeWarning". A mensagem pode ser disparada conforme o tamanho especificado no ambiente. 
Aqui mais uma vez, vemos que o desenvolvedor precisa ter cuidado com a engenharia de seus programas.




Maurício Ouriques
Pesquisa & Desenvolvimento 
16 de Novembro de 2008


sexta-feira, 19 de setembro de 2008

Como atualizar subform usando Event

Nos deparamos com o seguinte problema, temos um programa de Ordem de Serviço que possui dois subforms, um para os itens e outro dentro deste para as atividades do item. Quando estávamos posicionados nas atividades do item (3ª task), realizamos algumas alterações nos registros e queríamos atualizar os dados dos itens (2ª task) sem sair da task de atividades, ou seja, precisamos atualizar o dataview da task pai. Para isso encontrei uma solução que gostaria de compartilhar.




Tenho a seguinte estrutura no programa, a task principal abre a tabela Ordem de Serviço no Main Table. Nesta task tenho um form onde tenho alguns campos da O.S. e também um subform para os itens da O.S.
Na task filha, temos a abertura da tabela Itens da OS, no form desta task alguns campos do Item e também um subform para as atividades do Item da OS.
Na task Atividade da OS, também temos alguns campos no form e um botão chamado Atualizar Item. Quando clicar neste botão, vou atualizar todos os Itens da OS, neste caso, já vou querer ver as alterações nos registros.









Para resolver este problema, vamos criar um Evento (CTRL+U) na task inicial (O.S.) chamado AtualizarSubForm, adicionando um parâmetro neste evento que iremos chamar de p_nomeForm




Vamos implementar o evento na task e dentro do evento vamos adicionar um Raise Event SubForm Refresh, passando como parâmetro a variável p_nomeForm.



Para finalizar vamos alterar a propriedade do Event para Propagate=Yes

Agora quando estivermos posicionados nas atividades da O.S. conseguiremos disparar o evento da task inicial, passando como parâmetro o nome do subForm que desejamos atualizar, no meu caso ‘FormItem´.



Agora basta implementar em seus programas.

Boa sorte.

Maurício Ouriques