Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20
Funcionalidades obsoletas ou removidas
|
Funcionalidade | Substituir com | Estado na versão atual de 4D |
PDFCreator Driver | Native Windows PDF driver | Obsoleto |
Não conformidade com notação de objetos | Verifique a conformidade e ative a opção de compatibilidade Utilizar de notação de objetos | Eliminado |
Variáveis interprocesso | Objetos compartilhados e coleções, Storage | Obsoleto |
4D ODBC Pro | Built-in ODBC/SQL Pass through or 4D REST API | Removido |
4D for OCI em macOS | Built-in ODBC/SQL Pass through ou 4D REST API | Removido |
4D ODBC Driver em macOS | 4D REST API | Removido |
4D Internet Commands - Mail | Transporters (IMAP, SMTP, POP3), Email objects | Obsoleto |
4D Internet Commands - File Transfert | System workers | Obsoleto |
Formulários de Usuário | Formulários Dinâmicos | Obsoleto |
Atribuição dinâmica de variáveis recebidas por meio de HTTP (opção compatibilidade para bancos criadas antes de v13.4)[#/note] | ||
Comando WEB GET VARIABLES (para recuperar variáveis). Comandos WEB GET BODY PART/WEB Get body part count (para recuperar arquivos enviados) | Obsoleto | |
Comando WEB GET VARIABLES (para recuperar variáveis). Comandos WEB GET BODY PART/WEB Get body part count (para recuperar arquivos enviados) | Obsoleto | |
convertidas | Utilize as tabelas N->1 | Obsoleto |
Arquivo e pastas APIs em Mac | Path to object , Object to path | Obsoleto |
Ações padrões baseadas em Código | Modelos de strings (constantes "ak" do tema Ação estandarte) | Obsoleto |
Recursos Mac | Utilize a pasta "Resources". Por compatibilidade, ainda pode ser usada em bancos convertidos. Já não é compatível com comandos de acesso a escritura. | OS (iconos cicn: eliminado.) Os archivos Database.RSR não são abertos automaticamente. Necessita utilizar Open resource file. |
Gerenciamento de prioridade de CPU | nenhum | Obsoleto |
Antiga capa de rede | Use ServerNet | Obsoleto |
4D Mobile | ORDA e REST Server | Obsoleto |
Explicação dos valores para a coluna “Estado”:
Cada comando obsoleto tem o prefixo "_o_" e não está disponível em listas 4D (editor de código, funcionalidade de autocompletar, etc.). Os comandos obsoletos (ou desaprovados) não são eliminados do código existente e continuarão funcionando normalmente enquanto sejam compatíveis. Ainda é possível (mas não recomendado) agregar um comando obsoleto em um método simplesmente ingressando seu nome com o prefixo "_o_"; Se interpretará corretamente.
Comando | Substituído por | Obsoleto desde | |
Tema Entorno 4D: | |||
_o_DATA SEGMENT LIST | - | v11 | |
Tema Backup: | |||
_o_INTEGRATE LOG FILE | INTEGRATE MIRROR LOG FILE | v16 | |
Tema Compilador: | |||
_o_ARRAY STRING | ARRAY TEXT | v12 | |
_o_C_GRAPH | (uso de SVG con el comando GRAPH) | v12 | |
_o_C_INTEGER | C_LONGINT | v12 | |
_o_C_STRING | C_TEXT(siempre que la base esté en Unicode) | v12 | |
Tema Entrada: | |||
_o_ADD SUBRECORD | ADD RECORD en la tabla n de una relación N->1 | v12 | |
_o_MODIFY SUBRECORD | MODIFY RECORD en la tabla n de una relación N->1 | v12 | |
Drag and Drop theme: | |||
_o_DRAG AND DROP PROPERTIES | Comandos del tema Área de Transferência (Pasteboard) | v17 R4 | |
Tema Eventos formulário: | |||
_o_During | Remplazar con Form event codey el evento apropiado | v12 | |
Tema Formulários: | |||
_o_FORM GET PARAMETER | - | v17 R4 | |
Tema Gráficos: | |||
GRAPH (utilizando 4D Graph Area) | Utilice SVG picture en su lugar | v12 | |
Tema listas hierárquicas: | |||
_o_REDRAW LIST | Eliminar en código (no hace nada desde v11) | v11 | |
Tema List Box: | |||
LISTBOX Get property constantes: | |||
_o_lk display hor scrollbar/_o_lk display ver scrollbar | OBJECT GET SCROLLBAR | v16 R3 | |
_o_lk footer height | LISTBOX Get footers height | v16 R3 | |
_o_lk header height | LISTBOX Get headers height | v16 R3 | |
_o_lk hor scrollbar position/_o_lk ver scrollbar position | OBJECT GET SCROLL POSITION | v16 R3 | |
Tema Objetos (Formularios): | |||
_o_OBJECT Get action | OBJECT Get action | v16 R3 | |
_o_OBJECT SET COLOR | OBJECT SET RGB COLORS | v18 | |
Tema Imagens: | |||
_o_PICTURE TO GIF | PICTURE TO BLOB | v16 R5 | |
Tema Impressão: | |||
_o_PAGE SETUP | SET PRINT OPTION, GET PRINT OPTION, Print settings to BLOB, BLOB to print settings | v18 | |
Tema Seleção: | |||
_o_MOBILE Return selection | ORDA | v18 | |
Tema SQL: | |||
_o_USE EXTERNAL DATABASE | SQL LOGIN | v12 | |
_o_USE INTERNAL DATABASE | SQL LOGOUT | v12 | |
Tema String de caracteres: | |||
_o_Mac to Win | v11 | ||
_o_Win to Mac | v11 | ||
Tema Subregistros: todos os comandos | Substituir “nnn SUBRECORD” e “nnnSUBSELECTION” com uma ação no registro N ou N-selection de N-table em uma relação N->1 | v12 | |
Tema Documentos de sistema: | |||
_o_Document type | Path to object | v12 | |
_o_Document creator | Path to object | v16 R6 | |
_o_SET DOCUMENT TYPE | Object to path | v16 R6 | |
_o_SET DOCUMENT CREATOR | Object to path | v16 R6 | |
_o_MAP FILE TYPES | Utiliza UTIs e Info.plist | v16 R6 | |
Tema Ambiente sistema: | |||
_o_Font name | Utilize os identificadores de fonte | v14 | |
El comando OBJECT SET FONT já não aceita um parâmetro LongInt para a fonte: este parâmetro agora é uma string e deve especificar o nome de fonte. | |||
_o_Gestalt | Get system info / Is macOS / Is Windows | v17 | |
_o_PLATFORM PROPERTIES | Get system info / Is macOS / Is Windows | v17 | |
Tema formulários usuário: todos os comandos | |||
_o_CREATE USER FORM | - | v17 R4 | |
_o_DELETE USER FORM | - | v17 R4 | |
_o_EDIT FORM | - | v17 R4 | |
_o_LIST USER FORMS | - | v17 R4 | |
Web Server theme: | |||
_O_WEB Get session process count | Use scalable sessions | v18 R6 | |
4D Internet Commands: | |||
POP3 Review Mail commands | POP3Transporter class | v18 | |
SMTP Send Mail commands | SMTPTransporter class | v18 R6 | |
IMAP Review Mail commands | IMAPTransporter class | v19 | |
Downloaded Mail commands | IMAPTransporter class, POP3Transporter class | v19 | |
File Transfer commands | SystemWorker class | v20 |
Uma lista alfabetica destes comando pode ser consultada no anexo Deprecated Commands de Manual de linguagem 4D.
A partir de 4D v20, a conformidade do código de sua base com a notação de objetos é obrigatória. Se quiser converter umb anco no qual a opção Utilizar a notação de objetos para acessar às propiedades dos objetos ainda não estão marcadas (modo de compatibilidade, ver Página Compatibilidade), 4D mostrará uma caixa de diálogo que lpermitirá habilitar temporariamente a opção para poder abrir a base de dados. Ainda necessita marcar a opção explícitamente para habilitá-la permanentemente, entretanto se recomenda verificar a compatibilidade da aplicação de antemão utilizando o CMS.
Se clicar em Cancelar ou se o banco não permitir o acesso ao modo de desenvolvimento (base compilada, sem, acesso em Desenho.), se gera o erro -10537 e o banco de dados não é aberto
Nota: o modo de compatibilidade só estava disponível em bases binarias.
O driver PDFCreator está obsoleto desde 4D v20. Windows 10 e versões superiores incluem um controlador PDF nativo. A constante PDFCreator Printer name foi renomeada _o_PDFCreator Printer name.
Vários módulos PHP foram eliminados do intérprete PHP incluido em 4D v20, a maioria deles porque já não são necessários ou eram obsoletos: DOM (Document Object Model), Iconv, LibXML, LibXSLT, SimpleXML, GD (Graphics Draw) Library, XML (eXtensible Markup Language), XMLreader, XMLwriter, WDDX (Web Distributed Data eXchange), Zlib, Zip. Se sua aplicação usava um módulo eliminado , pode ser que precise usar comandos 4D relevantes ou um intérprete FastCGI-php externo. Para mais informação, consulte Assistência aos módulos PHP.
Desde 4Dv 19 R4, devido à compatibilidade com o operador ternário, o símbolo de dois pontos ":" não é mais permitido nos nomes de variáveis, campos, constantes, funções, plugins e métodos de projeto.
A partir de 4D v19, os plug-ins 4D ODBC Pro não estão mais disponíveis em todas as plataformas. Recomendamos o uso do passthrough/consulta-passagem integrado ODBC/SQL (ver SQL LOGIN e Introdução aos comandos SQL) ou 4D REST API para manejar as funcionalidades de conexão de ODBC/SQL.
A partir de 4D v19, o plug-in 4D for OCI já não está disponível em macOS. Recomendamos utilizar a consulta de passagem (passthrough) integrada ODBC/SQL (ver SQL LOGIN and Introdução aos comandos SQL) ou 4D REST API para manejar as funções de conectividad nesta plataforma.
A partir de 4D v19, o Driver 4D ODBC já não está disponível em macOS. Recomendamos utilizar o API 4D REST para o acesso a dados externos nesta plataforma.
A opção de armazenamento Outside data file não é mais compatível com campos tipo objeto (ver Armazenado no registro). Se esta opção for selecionada para um campo, é automaticamente convertido para In data file e usado para novos registros. Dados existentes em campos objetos é reescrito de forma transparente no novo local quando o registro pai é salvo. Para forçar que todos os registros sejam reescritos imediatamente, pode compactar o arquivo de dados com a opção "Update records".
A partir de 4D Write Pro v19 R4, é possível manejar quebras de linhas. para evitar confusão com parágrafos e quebras de tabela, todas as quebras agora são manejadas através de constantes dedicadas e ação padrão (ver Atributos 4D Write Pro e Usando ações padrão). Constantes genéricas anteriores (_o_wk page break inside) e ações padrão anteriores (avoidPageBreakInsideEnabled) ficaram obsoletas e são mantidas apenas por compatibilidade entre versões.
A partir de 4D v17 R4, os formulários de usuário estão em desuso. Para oferecer interfaces de usuário personalizáveis, agora é recomendado utilizar formulários dinâmicos (ver Formulários Dinâmicos em Manual de Desenho 4D). Todos os comandos dentro do tema "Formulários de usuário" ficaram obsoletos.
Os formulários de usuário ainda são mantidos por compatibilidade, entretanto, já não devem ser usados. Sua compatibilidade será eliminada em versões futuras
Nas versões anteriores de 4D, o servidor web recopiava automaticamente o valor das variáveis enviadas através de um formulário web ou um URL nas variáveis 4D quando tinham o mesmo nome.
Por razões de otimização e controle, este princípio não se mantém a partir de 4D v14: o valor das variáveis Web já não se atribui automaticamente as variáveis 4D. Para recuperar as variáveis enviadas utilizando um POST ou um GET, deve utilizar o comando WEB GET VARIABLES exclusivamente. Para recuperar as imagens enviadas, deve utilizar os comandos WEB GET BODY PART/WEB Get body part count.
Nota: a atribuição dinâmica também está desativada por padrão nas bases de dados 4D criadas a partir da versão 13.4.
No entanto, por compatibilidade, este mecanismo se mantém por padrão nas bases de dados criadas com uma versão de 4D anterior a 13.4. Neste caso, pode ser desativado o uso da opção de compatibilidade de atribuição de variável automática na página Compatibilidade das Propriedades da base.
Dado que este mecanismo é obsoleto, se recomenda desmarcar esta opção em suas bases de dados convertidas (e adaptar seu código se for necessário) com o propósito de facilitar futuras evoluções.
Em várias versões principais, 4D advertiu aos desenvolvedores em contra do uso das sub tabelas. Desde 4D v11, é impossível criar um campo do tipo sub tabela. Os sub registros têm algumas limitações conhecidas. Por exemplo, sempre se carregam em memória; não se gerenciam pelos comandos SEND RECORD ou DUPLICATE RECORD.
Não temos planos de eliminar o suporte para as sub tabelas em um futuro próximo, mas é realmente o momento de que os desenvolvedores convertam suas sub tabelas a tabelas N-> regulares porque temos a intenção de eliminar em uma futura versão principal de 4D. Os desenvolvedores que utilizam sub tabelas por razões de rendimento (algumas situações específicas nas que a carga dos registros relacionados era lenta) fiquem tranquilos, especialmente com v12: utilizar as relações N <-> 1 clássicas é bem rápido.
Basicamente, há duas formas principais para eliminar sub tabelas (nota: o seguinte não é uma tecnologia completa de ponta; só uma visão geral rápida):
O que queremos dizer com "mudar o código por todas partes se for necessário" é, basicamente:
Note: a partir de 4D v14 R3, pode atribuir valores aos campos "id_added_by_converter" especiais que se agregam automaticamente por 4D quando converte uma base de dados que contém sub tabelas. Isto lhe permite manter o link "relação sub tabela", e agregar ou modificar registros relacionados, sem necessidade de usar comandos em desuso tais como _o_CREATE SUBRECORD. Uma vez que tenha atualizado seus métodos, estas relações especiais podem ser substituídas por outros estandartes com nenhuma mudança em seu código.
A partir de 4D v16 R6, APIs Mac OS 9-based para gerenciamento de arquivos e pastas ficaram obsoletos em 4D. Essas APIs já estavam obsoletas em Apple a bastante tempo.
Comandos 4D que dependem das antigas API foram renomeados: _o_Document type, _o_Document creator, _o_SET DOCUMENT TYPE, _o_SET DOCUMENT CREATOR e _o_MAP FILE TYPES. Estes comandos são mantidos por compatibilidade, mas estão em desuso e já não devem ser usados. 4D inclui dois novos comandos para manejar nomes de rotas e extensões de arquivos: Path to object e Object to path.
Ações padrão foram internamente reformuladas em 4D v16 R3. Agora são baseadas em padrões de string e parâmetros de suporte (para saber mais, veja a seção Ações padrões).
Em suas aplicações convertidas, ações padrão são remapeadas de forma transparente ao novo design. Entretanto, na linguagem 4D, ações padrão eram previamente baseadas em valores de código. Este princípio é obsoleto e não deve mais ser usado:
Esta é outra antiga tecnologia Mac OS, em desuso desde Mac OS X 10.4 (Tiger, 2005). Os recursos se utilizam para armazenar dados estruturados, como texto e cadeias (localização), assim como também ícones, etc. Basicamente, podemos dizer que não são os recursos que estão em desuso, é seu suporte em disco, conhecido como o resource fork. O resource fork é parte do sistema de arquivos de Mac OS e desde o início de Mac OS X, Apple tratou de eliminar este suporte, já que não é compatível com outros sistemas de arquivos (Unix, Windows), e é a fonte de uma grande quantidade de problemas quando os arquivos se transferem através da rede.
Em Windows, este mecanismo se emula e os recursos Mac residem em um arquivo .RSR.
Mas ainda assim, inclusive se há ainda APIs para gerenciar os recursos (e Mac OS gerencia de forma transparente os recursos armazenados em um data fork), já não se recomenda utilizar este velho mecanismo por várias razões:
Eliminamos suporte para comandos de escritura/criação de recursos
A grande maioria das aplicações 4D que utilizam recursos estão, de fato, utilizando recursos "Strings List", 'STR#'. 4D oferece as ferramentas para mudar facilmente do STR # a XLIFF:
Para outros tipos de recursos:
Produto: 4D
Funcionalidades obsoletas ou removidas ( 4D v20)