4D v17.1

Mudanças de comportamento

Página Inicial

 
4D v17.1
Mudanças de comportamento

Mudanças de comportamento    


 

Os comandos OBJECT Get action e OBJECT SET ACTION agora utilizam constantes com valores de tipo string ao invés de inteiro longo (quando for usado em objetos de formulário).

Código anterior:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(OBJECT Get action(*;$arrObjects{$i})=Object No standard action)
       OBJECT SET ACTION(*;$arrObjects{$i};Object Cancel action)
    End if
 End for

Código depois da conversão a v17:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(_o_OBJECT Get action(*;$arrObjects{$i})=_o_Object No standard action)
       OBJECT SET ACTION(*;$arrObjects{$i};_o_Object Cancel action)
    End if
 End for

Nota: só a função _o_Object Get action foi declarada obsoleta porque no caso da compilação, é necessário estabelecer o tipo de resultado de antemão. Isto foi feito para que possa considerar mudar seu código (ver a seguir), do contrário a compilação seria impossível.

Novo código: comando e constantes obsoletas a substituir por:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(OBJECT Get action(*;$arrObjects{$i})=ak none)
       OBJECT SET ACTION(*;$arrObjects{$i};ak cancel)
    End if
 End for


A partir de v17, as horas 4D (tipo C_TIME) manipuladas através das propriedades de objeto sã convertidas em número de segundos. Em versões anteriores, eram convertidas a milissegundos.

Esta mudança se aplica a todas as horas convertidas a/desde objetos ou coleções utilizando notação de objetos, comandos como OB SET e OB Get, QUERY BY ATTRIBUTE, ou os comandos JSON como JSON Stringify e JSON Parse. Também impacta às conversões horas/digitais nas funcionalidades 4D abaixo:

  • Áreas web (via JavaScript),
  • 4D Mobile,
  • SQL (função CAST)

Para facilitar a migração dos bancos de dados 4D (especialmente se tiverem sido armazenado horas nos atributos de campo objeto), pode ser usado uma nova opção de compatibilidade para restaurar o comportamento anterior da sessão:

  //restaurar o comportamento anterior
  //que se colocará no método base On opening / On server startup
 SET DATABASE PARAMETER(Times inside objects;Times in milliseconds)

  • Resolução das entidades externas
    A partir de 4D v16 R3, para melhorar a segurança, a resolução de entidades externas não está activada como padrão nos documentos XML (a declaração de uma entidade externa gera um erro de análise). Para restabelecer o comportamento anterior, utilize o novo selector XML external entity resolution com o valor XML enabled para o comando XML SET OPTIONS.
  • Sensibilidade a maiúsculas e minúsculas
    A partir de  4D v16 R4, os comandosDOM Get XML element e DOM Count XML elements distinguem entre maiúsculas e minúsculas como padrão. Um novo seletor lhe permite voltar ao comportamento anterior: XML DOM case sensitivity com os valores disponíveis abaixo:
    • XML case sensitive (valor como padrão): os comandos são sensíveis às maiúsculas e minúsculas
    • XML case insensitive: os comandos não são sensíveis a maiúsculas e minúsculas

Os atributos wk image, wk list style image e wk background image utilizados com os comandos WP GET ATTRIBUTES ou OB Get retornam a imagem em si e não seu URL quando a imagem não estiver declarada.

Para buscar a URL da imagem, utilize os novos atributos wk image url, wk list style image url e wk background image url.


 
 

 
PROPRIEDADES 

Produto: 4D
Tema: Mudanças de comportamento

 
HISTÓRIA 

Modificado: 4D v16.2

 
ARTICLE USAGE

Conversão a 4D v17 ( 4D v17)
Conversão a 4D v17 ( 4D v17.1)