O que há de novo em 4D v16 R4

Tradução automática de Deepl

Recuperar o que era novo em lançamentos R anteriores >

Notação de objectos

Os objectos, introduzidos como objecto de linguagem com 4D v14, suportados pelo motor de base de dados com 4D v15, melhorado com 4D v16 – verão um enorme aumento de funcionalidade nos próximos lançamentos, começando com 4D v16 R4. Começará por tornar a codificação mais fácil e rápida – e levará num futuro não tão distante a uma revolução na forma como se escreve código e se utiliza o motor de base de dados.

Com notação de objecto, fornecida como uma pré-visualização em 4D v16 R4, pode simplesmente escrever $myobject.attribute.subattribute:=5 ou aceder a um atributo com $person.children[2].firstname. Apenas como lembrete, o estado de pré-visualização significa que pode brincar com a nova funcionalidade e aprendê-la, mas ainda não está pronto para produção.

De facto, é possível utilizar a notação de objecto como expressão. Por exemplo, criar um objecto de formulário como uma variável de texto e atribuir directamente o atributo objecto, por exemplo [pessoa]parentes.avô.avô.primeiro nome. Já não é necessário utilizar OB Get recursivamente para ler o valor e atribuí-lo a uma variável temporária, apenas para o exibir.

A fim de utilizar as características de notação de objectos, deve activar a notação de objectos na página de Compatibilidade da caixa de diálogo Definições da Base de Dados . Esta acção é irreversível.

Ao activar esta funcionalidade, deve estar ciente de que já não é permitido utilizar caracteres especiais como pontos (.) e/ou parênteses rectos ([ ]) em nomes de variáveis, tabelas, campos e métodos de projecto. A fim de verificar se a sua aplicação está em conformidade com os pré-requisitos de notação de objectos, pode executar Verificar a acção da aplicação no MSC. Os elementos contendo caracteres proibidos serão listados no registo do MSC, para que possa facilmente encontrar o que precisa de ser renomeado na sua aplicação.

A notação de objectos é suportada no:

  • Editor do método: A utilização da notação de objectos é mais elegante, mais fácil e mais intuitiva na manipulação de objectos do que a utilização de OB Get e OB Set.
    Pode criar, ler ou modificar directamente atributos de objectos, ou mesmo criar novos elementos num atributo de conjunto de objectos simplesmente utilizando-o. Se, por exemplo, um array dentro de um objecto tiver 3 elementos e escrever no elemento 10, este é automaticamente aumentado e os elementos em falta são criados.
  • Editor de formulários: Pode utilizar a notação de objecto como fonte de dados de objecto de formulário no editor de formulários. Os objectos complexos podem ser exibidos como campos de entrada única. Usando a linguagem pode até criar um formulário de forma totalmente dinâmica e simplesmente ligar os widgets do formulário aos atributos do objecto.
  • Depurador e Explorador de Tempo de Execução: Pode utilizar a notação de objecto no Debugger a fim de testar e verificar o seu código.

Novo tipo de colecção

4D v16 R4 introduz um novo tipo de colecção na língua 4D. Na primeira vista uma colecção parece uma matriz, mas enquanto uma matriz é uma lista altamente optimizada do mesmo tipo(Array longint, Array Text, …), uma colecção é uma espécie de recipiente que armazena uma lista de tipos individuais (uma longint, depois um texto, depois um número, depois uma imagem, um objecto, até mesmo outra colecção, etc.). Uma colecção é muito flexível. Enquanto uma colecção precisa de menos memória e poderia ser mais rápida, uma colecção é mais flexível e acelera o tempo de desenvolvimento.

Pode-se imaginar um objecto como uma lista de atributos nomeados, enquanto que uma colecção é uma lista de atributos não nomeados, acedida com um índice. O comando Nova colecção cria uma nova colecção vazia ou pré-carregada. E as colecções podem ser acedidas com a notação de objecto.

Comando nulo

O novo comando Null pode ser utilizado para verificar se um atributo de objecto ou um membro da colecção tem um valor desconhecido ou em falta (atenção à diferença do valor 0 ou uma cadeia de caracteres vazia “” com um valor não definido). Também permite definir um valor de atributo para desconhecido. E sim, pode ser utilizado com a notação de objecto.

Suporte de imagens em objectos

As imagens podem ser armazenadas num campo de objectos ou numa variável do objecto. Muitos programadores utilizaram o tipo de campo objecto para permitir aos seus clientes melhorar a estrutura da base de dados com campos personalizados, armazenando todo o tipo de informação. As imagens não eram possíveis até à data.

Os comandos OB Get e OB SET foram actualizados para suportar o novo tipo de imagem Is e para poder armazenar uma imagem num campo de objecto. E, claro, também se pode usar a notação de objecto.

Validar objectos JSON

Trabalhando com objectos, mais cedo ou mais tarde trocará objectos com outras aplicações ou serviços – e para o fazer é necessário analisar as cordas JSON. Como estas cordas são bem definidas, tudo é agradável, mas por vezes não o é e uma nova opção pode reduzir drasticamente o seu tempo de depuração. A opção * parâmetro do JSON Parse cria informação adicional de depuração (propriedade __símbolos) que fornece caminho, posição de linha, e offset de linha de cada propriedade e sub-propriedade do objecto. Esta informação pode ser útil para efeitos de depuração.

Mesmo que um objecto seja bem formado, pode não cumprir as especificações ou normas de conteúdo solicitadas. O novo comando Validar JSON permite verificar se a estrutura do objecto se ajusta a uma determinada especificação(esquema JSON).

4D Write Pro

4D Escrever Tabelas Pro

As tabelas chegam em 4D Write Pro. Tabelas reais, células individuais, se introduzir um texto grande numa célula, o texto será automaticamente embrulhado, e a largura da célula permanecerá a mesma. Pode criar uma tabela a partir do zero e, claro, modificar o estilo da tabela, ou das suas colunas, linhas e mesmo células individuais, tudo isto por programação.

O novo comando Inserir tabela WP permite-lhe criar uma tabela com um número de células, linhas ou vazia. Os seguintes comandos foram criados para lhe permitir gerir tabelas no seu documento 4D Write Pro: WP Tabela anexar linha, WP Tabela obter linhas, WP Tabela obter colunas, WP Tabela obter células. Todos estes novos comandos são seguros para as linhas.

Hiperligações 4D Write Pro

Adicionar um link ao logótipo ou nome da sua empresa é agora tão fácil como estilizar algum texto a negrito. Graças ao novo atributo wk link url , podem ser adicionados hyperlinks em imagens, texto ou uma combinação de ambos, apenas usando os comandos WP SET ATTRIBUTES e WP GET ATTRIBUTES.

Desenhe a sua própria barra de ferramentas com acções padrão

Crie facilmente a sua barra de ferramentas 4D Write Pro personalizada, sem qualquer programação. O mecanismo de acções Standard, simples mas muito potente, foi novamente alargado com 4D v16 R4. De facto, as acções padrão podem agora também ser atribuídas a caixas de verificação e menus pop-up.

A utilização de acções padrão faz beneficiar de mecanismos automáticos que pouparão o seu tempo: a activação/desactivação do objecto é automaticamente tratada por 4D dependendo do contexto e o estado actual (para caixas de verificação) ou valor (para menus pop-up) é automaticamente actualizado por 4D de acordo com a selecção de texto actual.

Linha de produtos sem Altura 4D Windows 64-bit

Toda a linha de produtos 4D Windows 64-bit já não conta com a biblioteca Mac2Win da Altura. O servidor 4D Windows 64-bit foi o último passo para completar e isto é feito com o 4D v16 R4. Isto permite que o 4D utilize internamente tecnologias modernas na plataforma Windows, e que beneficie de novas funcionalidades como a SDI.

Apoio SDI no Windows

No Windows, 4D foi utilizado para ter uma janela principal cinzenta (chamada janela MDI) com todas as janelas de aplicação expostas no interior (como janelas de criança). As aplicações SDI, como por exemplo o Microsoft Outlook, têm uma janela principal mas podem abrir muitas janelas adicionais que são independentes da janela principal. Podem ser movidas em outros ecrãs, permanecem visíveis mesmo que a janela principal esteja escondida e assim por diante…

Por outro lado, o MDI também tem benefícios para algumas aplicações comerciais, uma vez que todas as janelas pertencem em conjunto para construir a aplicação. Um bom exemplo é o Adobe Photoshop. É por isso que o 4D permite ambos os modos para aplicações fundidas.

4D Ver folhas de cálculo Pro

4D v16 R4 introduz o primeiro passo da folha de cálculo 4D View Pro como uma pré-visualização. Descubra o novo objecto de formulário 4D View Pro, e os novos comandos 4D View Pro. Criar um novo documento com VP NEW DOCUMENT, guarde-o em disco com VP EXPORT DOCUMENT ou na base de dados utilizando VP Export to object e reabri-lo com VP IMPORT DOCUMENT ou VP IMPORT FROM OBJECT.

Janela de administração de servidores personalizada

Uma série de funcionalidades em desenvolvimento permitir-lhe-á criar a sua própria janela de administração do servidor, controlando quais as informações que deseja exibir ou permitir que o administrador altere.

Informação sobre processos e utilizadores

Como primeiro passo, o novo comando Get process activity dá um instantâneo das sessões de utilizador ligadas, dos processos em execução relacionados e de todos os processos actuais, incluindo os processos internos que não eram acessíveis pelo comando PROCESS PROPERTIES. Também é possível calcular a partir da sessão/informação do processo devolvido o tempo de CPU consumido por este processo desde a ligação (em segundos) e a percentagem de actividade (por exemplo: 2%).

Informação detalhada sobre licenças

O novo comando Get license info retorna informação detalhada sobre as licenças instaladas e as licenças usadas/disponíveis.

Controlo melhorado da visualização das dicas de ajuda

Bastante simples, pode por programação desactivar ou activar todas as dicas de ajuda dentro de uma aplicação 4D com o comando SET DATABASE PARAMETER. Mais aperfeiçoado, pode definir o atraso de visualização e a duração máxima da visualização por linguagem. Mas não é tudo, é também possível modificar dinamicamente o texto de uma dica de ajuda usando o comando OBJECT SET HELP TIP.

Definir ordem de tabulação do formulário por programação

Esta característica permite definir de forma a ordem de entrada do objecto por programação, para que se possa controlar em que objecto do formulário seguinte o foco será quando o utilizador carregar na tecla TAB. Dois novos comandos – FORM SET ENTRY ORDER e FORM GET ENTRY ORDER – permitem-lhe respectivamente definir dinamicamente e obter a ordem de entrada dos objectos do formulário actual para o processo actual. Esta funcionalidade é especialmente útil quando se criam formulários dinamicamente.

Melhoria da interface do utilizador relacionada com o IPv6-

4D v16 R4 fornece algumas melhorias de IU para uma melhor experiência do utilizador para as pessoas que utilizam configurações de rede IPv6.

Quer saber mais? Leia todos os posts no blogue sobre 4D v16 R4!