Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
Página Compatibilidade

Página Compatibilidade  


 

 

A página Compatibilidade agrupa todos os parâmetros relacionados com a manutenção da compatibilidade com versões anteriores de 4D. Lembre que o número de opções mostradas dependerá da versão de 4D com a qual se criou o banco de dados originalmente: (2004.x, v11, v12, etc)

Nota: Essa página não aparece em bancos de dados criados com a versão atual de 4D (bancos de dados não convertidos).

  • Os campos não são editáveis nos diálogos: em versões anteriores de 4D, não era possível introduzir valores utilizando campos em caixas de diálogo (mostradas, por exemplo, utilizando o comando DIALOG ). Esta limitação se eliminou desde 4D 2004. Pode conservar o comportamento anterior, especialmente se seu banco de dados utiliza campos em diálogos para mostrar dados. Por padrão, esta opção está selecionada para as versões antigas convertidas a versão 2004 e não está selecionada para o bancos de dados criadas a partir da versão 2004.

  • Botões radio agrupados pelo nome: nas versões anteriores de 4D, o funcionamento coordenado de um grupo de botões de opção (radio) era obtido dando uma primeira letra idêntica às variáveis associadas com os botões (por exemplo, m_botao1m_botao2m_botao3, etc.). A partir de 4D 2004 se modificou da seguinte forma: para funcionar de maneira coordenada, um conjunto de botões de radio simplesmente devem estar agrupados no editor de formulários. Para mais informação, consulte Botões de opção e botões imagem de opção.
    Este novo modo é válido para botões radio, botões radio 3D e botões radio imagem. Por razões de compatibilidade, o modo anterior se conserva por padrão em bancos de dados convertidos. Entretanto, pode forçar o uso do novo modo desmarcando esta opção. Esta opção somente aparece em bancos convertidos de versões anteriores. Está selecionada como padrão. Os bancos de dados criados a partir da versão 2004 utilizam o novo modo.
  • Recarregar o formulário para cada registro durante PRINT SELECTION: em versões anteriores de 4D, o formulário utilizado durante uma impressão utilizando o comando PRINT SELECTION se recarregava para cada registro. Isto permitia reiniciar automaticamente todos os parâmetros dos objetos que o desenvolvedor pudesse ter modificado com a linguagem no evento de formulário On printing detail.
    Para melhorar o rendimento, este mecanismo foi eliminado a partir de 4D 2004. O desenvolvedor 4D agora deve reiniciar ele mesmo os parâmetros que deseja no método de formulário, este funcionamento é idêntico ao dos formulários listados com o evento On display detail. Mesmo assim, pode conservar o mecanismo anterior utilizando esta opção. Os bancos de dados criados em versão 2004 utilizam o novo modo.
  • Não utilizar o novo modo de referenciar os contextos: quando esta opção não estiver selecionada (padrão), o servidor web 4D põe o número do contexto na URL do banco dos documentos HTML enviados.
    Com o sistema anterior (opção selecionada), o servidor web 4D envia ao navegador o número do contexto por cada elemento de uma página, fazendo com que os processos fossem menos rápidos. Mesmo assim esta opção pode ser selecionada por razões de compatibilidade. Lembre que deve reiniciar o banco de dados depois de modificar esta opção para que o novo funcionamento se aplique.
  • Apagar o “/” nas URLs desconhecidas: nas versões anteriores de 4D, as URLs desconhecidas (URLs que não correspondem a páginas existentes nem a URLs especiais de 4D) eram devolvidas aos métodos base On Web Authentication e On Web Connection ($1) e não começavam com o caractere “/”. Esta particularidade foi eliminada em 4D 2004. Entretanto, se você implementou algoritmos baseados nessa operação e deseja mantê-los, desmarque essa opção.
  • Proibir arrastar e soltar dados não provenientes de 4D: a partir da v11, 4D permite arrastar e soltar seleções de objetos e/ou arquivos externos a 4D, como por exemplo os arquivos imagem, no modo Aplicação.
    Esta possibilidade deve estar suportada pelo código do banco. Nos bancos de dados convertidos de versões anteriores de 4D, esta possibilidade pode trazer problemas de funcionamento se o código existente não estiver adaptado devidamente.
    Esta opção permite antecipar-se a estes possíveis problemas de funcionamento. Quando esta opção estiver selecionada, se nega a soltar objetos externos em formulários 4D. Note que inserir objetos externos ainda é possível nos objetos que têm a opção Soltar automático, nesse caso a aplicação pode interpretar automaticamente os dados soltados (texto ou imagem). Para mais informação, consulte Arrastar e soltar.
  • Executar QUERY BY FORMULA no servidor e Executar ORDER BY FORMULA no servidor: a partir de 4D v11, por razões de otimização, os comandos de pesquisas e de ordenação “por fórmula” se executam no servidor; somente se devolve o resultado a máquina cliente. Isto aplica aos seguintes comandos: QUERY BY FORMULA, QUERY SELECTION BY FORMULA e ORDER BY FORMULA. Em caso de chamada direta de variáveis na fórmula, a pesquisa é calculada com o valor da variável na máquina cliente. Por exemplo,
     QUERY BY FORMULA([tabela];[tabela]campo=variável)
    se executará no servidor mas com o conteúdo da variável do cliente. Por outro lado, este princípio não se aplica às fórmulas que utilizam métodos que, por si mesmo, chamam variáveis: neste caso o valor das variáveis são avaliados no servidor.
    Nos bancos de dados convertidos, este funcionamento pode afetar os algoritmos existentes. Portanto, como padrão neste contexto, estes comandos continuam sendo executados na máquina cliente. Se deseja aproveitar o novo algoritmo v11 em um banco convertido, pode simplesmente selecionar estas opções.
    Nota: esta opção pode ser definida utilizando o comando SET DATABASE PARAMETER.
  • QUERY BY FORMULA usa uniões SQL: a partir de 4D v11, os comandos QUERY BY FORMULA e QUERY SELECTION BY FORMULA realizam uniões baseadas no modelo de SQL. Isto significa que não é necessário que exista uma relação estrutural entre a tabela A e a tabela B para utilizar uma fórmula que contenha [Tabela_A ]campo_X=[Tabela_B]campo_Y.
    Como este mecanismo pode gerar disfunções nas aplicações existentes, está desativado como padrão nos bancos de dados convertidos. Se recomenda que seja ativado (depois de revisar o código do banco) selecionando esta opção com o propósito de se beneficiar da otimização dos comandos de pesquisa por fórmula.
  • Notas:
    • Quando o modo "Uniões SQL" estiver ativo, os comandos QUERY BY FORMULA e QUERY SELECTION BY FORMULA utilizam entretanto as relações automáticas definidas no editor de estrutura nos seguintes casos:
      - Se a fórmula não pode ser dividida em elementos no formato {campo;comparador ;valor}
      - Se são comparados dois campos da mesma tabela.
    • Esta opção também pode ser definida pelo processo utilizando o comando SET DATABASE PARAMETER.
  • Autorizar as transações aninhadas: ativa o suporte das transações multi-nível. A partir de v11, 4D aceita as transações aninhadas em um número de níveis ilimitado. Como esta nova operação pode gerar problemas nos bancos desenvolvidos com versões anteriores de 4D, está desativado por padrão nos bancos convertidos (as transações permanecem limitadas a um só nível). Se deseja usar transações em vários níveis num banco de dados convertido, deve selecionar essa opção.
    Por padrão, esta opção não está selecionada. Se especifica para cada banco de dados.     
    Nota: esta opção não tem efeito nas transações realizadas no motor SQL de 4D. As transações SQL sempre são multi-nível.
  • Modo Unicode:Usado para ativar ou desativar o modo Unicode para o banco de dados atual. Deve ser checado porque é exigido em aplicações 4D 64-bits.
  • Utilize os parâmetros do sistema em formatos numéricos: a partir de v11, 4D utiliza os parâmetros sistema regionais para os formatos de visualização numéricos (ver “Formatos de campos numéricos” em Formatos de saída). 4D substitui automaticamente os caracteres “,” e “.” nos formatos de visualização numérica pelo separador de milhares e o separador decimal definido no sistema operativo, respectivamente. O sinal de ponto e a vírgula são então considerados como os caracteres de marcação de posição, seguindo o exemplo de 0 ou #. Nas versões anteriores de 4D, os formatos de visualização numéricos não consideram os parâmetros regionais do sistema. Por exemplo, o formato “###,##0.00” é um formato válido para um sistema americano. Entretanto, quando se aplica a um valor numérico mostrado em um sistema francês o suíço, o resultado é incorreto.
    Nos bancos de dados convertidos, por compatibilidade, este novo mecanismo não está ativado. Para se beneficiar de seu uso, deve selecionar esta opção.
  • Atribuição automática de variáveis: em versões anteriores de 4D, um mecanismo padrão do servidor web permite tornar a copiar automaticamente nas variáveis processo 4D o valor das variáveis enviadas por meio de um formulário HTTP ou um URL de tipo GET. Em modo interpretado, o valor de toda variável recebida se copia diretamente em uma variável processo 4D com o mesmo nome, em modo compilado, as variáveis devem ter sido previamente declaradas em um método projeto COMPILER_WEB.
    A partir de 4D v13.4, este mecanismo é obsoleto e já não está disponível nas novas bases de dados. Por razões de compatibilidade, se mantém nas bases convertidas, mas pode desativar ela desmarcando esta opção de compatibilidade. Agora se recomenda utilizar os comandos dedicados WEB GET VARIABLES ou WEB GET BODY PART.
  • Utilizar a capa de rede antiga : a partir do lançamento de v15, as aplicações 4D contém uma nova capa de rede, chamada ServerNet, para gerenciar as comunicações entre 4D Server e as máquinas 4D remotas (clientes). A capa de rede antiga ficou obsoleta, mas se conserva para garantir a compatibilidade com as bases de dados existentes. Mediante esta opção, pode ativar ou desativar a capa de rede antiga em qualquer momento nas aplicações 4D Server convertidas em função de suas necessidades, por exemplo, ao migrar as aplicações cliente (ver a seção Preferências de configuração). ServerNet se utiliza automaticamente para os novos bancos de dados e para os bancos convertidos desde as versões 15 ou posterior.
    Tenha em conta que em caso de uma modificação, é necessário reiniciar a aplicação para que a mudança seja levada em conta. Todas as aplicações cliente que se conectaram também devem se reiniciar para poder conectar com a nova capa de rede (a versão de cliente mínima para usar a capa ServerNet é 4D v14 R4, consulte a seção Preferências de configuração).
    Notas:
     
  • Guardar os métodos como Unicode: esta opção se ignora (os métodos são salvos como unicode). Consulte as versões anteriores de documentação para saber mais.
  • Utilizar o tipo data ao invés do formato de data ISO em objetos: lhe permite armazenar as datas nos atributos objeto como tipo data ao invés de texto em formato ISO. Nas versões anteriores de 4D, as datas em atributos objeto só podiam armazenar-se como strings. A partir de 4D v16 R6, as datas nos atributos objeto podem ser armazenados em tipo data. Pode habilitar este comportamento marcando esta opção (as datas armazenadas previamente no formato ISO permanecerão "tal qual", mas as novas datas salvadas estarão no tipo data). Esta função também pode ser administrada por programação, por processo, utilizando o comando SET DATABASE PARAMETER e o seletor Dates inside objects..***ELIMINADO EN R6**** [#/note]
  • Utilizar a nova arquitetura para as aplicações lançadas: esta opção está disponível para todas as aplicações a partir de 4D v15 R4. Ativa ou desativa novos mecanismos relacionados com o lançamento das aplicaciones 4D (deve ser definido na máquina que gera a aplicação final). Os mecanismos controlados por esta opção são descritas nas seções Último arquivo de dados aberto e Gestão das conexões de aplicativos de clientes. Esta opção está desativada de forma predeterminada nas aplicações convertidas. Para beneficiar-se destes novos mecanismos, é necessário selecioná-los de forma explícita.
    •  
  • Utilizar a notação objeto para acessar as propriedades dos objetos (se exige Unicode): esta opção permite o uso de caracteres ".", "[" Y "]" em seu código como símbolos de notação objeto, utilizados para acessar a propriedades tokenizadas, e não como parte de uma tabela, campo, método ou nome de variável. A ativação desta opção é obrigatória para os bancos de dados criados em versões anteriores a 4D v17 se quiser utilizar a notação objeto, já que os símbolos ". []" estavam permitidos nos nomes em todas as versões anteriores de 4D. Ao ativar esta opção para seu banco de dados convertido, declara que seu código cumpre com a notação objeto. Se recomenda que verifique a compatibilidade de seu código utilizando o CSM (consulte Verificar). Para saber mais sobre a notação objeto, consulte a seção Usar notação padrão objeto.
    Nota: Esta opção é obrigatória em bancos binários convertidos a partir de 4D v20.
  • Utilizar XPath estándar: de forma predeterminada, esta opção não está marcada para os bancos de dados convertidos de uma versión 4D anterior a v18 R3, e se marca se houver bancos de dados criados com 4D v18 R3 e superior. A partir de v18 R3, a implementação de XPath em 4D foi modificada para que seja mais compatível e admitir mais predicados. Portanto, as funcionalidades não padrão da implementação anterior já não funcionam. Incluem:
    • o caractere "/" inicial não é só o nodo raíz: o uso de um caractere / como primeiro caractere de uma expressão XPath não declara uma rota absoluta desde o nodo raíz
    • sem nodo atual implícito: o nodo atual deve ser incluído na expressão XPath
    • não há pesquisas  recursivas em estruturas repetidas: só se analisa o primeiro elemento.

Mesmo essas funcionalidades não sendo padrão, é possível que queira continuar usando-as para que seu código continue sendo escrito como antes: nesse caso, simplesmente ative a opção desselecionada. Por outro lado, se seu código não se basear na implementação não parão e quiser aproveitar das funcionalidades  XPath avançadas em seus bancos de dados (como descrito no comando DOM Find XML element), tenha certeza de que a opção Utilizar XPath padrão esteja marcada.

  • Utilizar LF para el final de línea en macOS: a partir de 4D v19 R2, 4D escreve os arquivos de texto com salto de linha (LF) como caractere de final de linha (EOL) por padrão em macOS nos novos projetos. Se quiser se beneficiar dese novo comportamento em projetos convertidos desde versões anteriores de 4D, marque esta opção. Ver TEXT TO DOCUMENT , Document to text e XML SET OPTIONS.. 
  • Não adicionar um BOM ao escrever um arquivo de texto unicode por padrão: a partir de 4D v19 R2 e de 4D v19 R3 para arquivos XML), 4D escreve arquivos de texto sem uma marca de ordem de bytes (BOM) padrão. Em versões anteriores, os arquivos de texto são escritos com uma BOM por padrão. Selecione esta opção se quiser ativar o novo comportamento nos projetos convertidos. Ver TEXT TO DOCUMENT e Document to text e XML SET OPTIONS.
  • Utilize DirectWrite para a renderização de texto nos formulários: em Windows, os projetos 4D e os bancos de dados criados com 4D v19 R3 e superiores utilizam a API DirectWrite nos formulários. Esta API melhora o renderizado de texto especialmente em configurações de alto DPI. Entretanto, não se utiliza como padrão nos projetos e bancos de dados criados com uma versão anterior de 4D porque pode modificar a visualização geral de seus formulários existentes. Marque esta opção se quiser se beneficiar desta API em seus formulários -- mas lembre que pode exigir que adapte o design de seus formulários em Windows. Quando a opção estiver marcada, DirectWrite se usará para a renderização de texto com objetos formulários como texto estático e de entrada, caixas de seleção, e botões de opção. Lembre que não modificará a representação do texto das listboxes que já usam DirectWrite.
  • .Mapear valores NULL para valores em branco não marcados como parão para a criação de um campo: Para melhor cumprimento das especificações ORDA, em bancos criados com 4D v19 R4 e superior, a propriedade campo Map NULL values to blank values é por padrão desmarcada quando criar campos. Pode aplicar esse comportamento padrão para seus bancos de dados convertidos ao marcar essa opção (trabalhar com valores NULL não é recomendado já que são compatíveis totalkmente com ORDA).

 



Ver também 

Compatibility settings (Part 1) - Query by formula
Compatibility settings (Part 2) - Use period and comma as placeholders
Compatibility settings (Part 3) - Nested Transactions
Compatibility settings (Part 4) - All the rest

 
PROPRIEDADES 

Produto: 4D
Tema: Propriedades do Banco

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Modificado: 4D v16 R4
Modificado: 4D v16 R6
Modificado: 4D v18 R3
Modificado: 4D v19 R2
Modificado: 4D v19 R4
Modificado: 4D v20

 
ARTICLE USAGE

Manual de Desenho 4D ( 4D v20 R7)