Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Funcionalidades obsoletas ou removidas
|
Funcionalidade | Substituir com | Estado na versão atual de 4D |
On 4D Mobile Authentication database method | Função force login and authentify() | Obsoleto |
Interprete PHP integrado | External PHP interpreter | Eliminado |
Replicação via SQL | ORDA Global Stamp | Obsoleto |
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 / 4D REST API | Eliminado |
4D for OCI em macOS | Built-in ODBC/SQL Pass through / 4D REST API | Eliminado |
4D ODBC Driver em macOS | 4D REST API | Eliminado |
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 |
Wakanda connection (4D Mobile) | ORDA e REST Server | Obsoleto |
Explicação dos valores para a coluna “Estado”:
Os comandos obsoletos não serão removidos do código existente e continuarão funcionando normalmente enquanto houver suporte para eles. Quando um comando obsoleto é prefixado com "_o_", ele não está mais disponível nas listas 4D (editor de código, função de digitação preditiva, etc.), mas ainda é possível (embora não seja recomendado) adicioná-lo em um método simplesmente digitando seu nome com o prefixo "_o_"; ele será interpretado 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 do tema Área de Transferência (Pasteboard) | v17 R4 | |||
Tema Eventos formulário: | |||||
_o_During | Substituir com Form event codee o evento apropriado | v12 | |||
Tema Formulários: | |||||
_o_FORM GET PARAMETER | - | v17 R4 | |||
Tema Gráficos: | |||||
GRAPH (utilizando 4D Graph Area) | Utilize SVG picture em seu lugar | v12 | |||
Tema listas hierárquicas: | |||||
_o_REDRAW LIST | Eliminar em código (não faz nada desde v11) | v11 | |||
Tema Interrupções: | |||||
GET LAST ERROR STACK | Last errors | 20 R7 | |||
Tema Licenças: | |||||
_O_GET SERIAL INFORMATION | License info | 20 R7 | |||
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 |
Uma lista alfabetica destes comando pode ser consultada no anexo Comandos obsoletos de Manual de linguagem 4D.
Por motivos de consistência, vários comandos foram renomeados no 4D 20 R7.
Nome anterior | Novo nome (4D 20 R7 e superior) |
Get action info | Action info |
GET ACTIVITY SNAPSHOT | ACTIVITY SNAPSHOT |
Get application info | Application info |
GET BACKUP INFORMATION | BACKUP INFO |
Get call chain | Call chain |
Get database measures | Database measures |
Get last field number | Last field number |
Get last query path | Last query path |
Get last query plan | Last query plan |
Get last table number | Last table number |
Get license info | License info |
Get license usage | License usage |
Get localized document path | Localized document path |
Get localized string | Localized string |
Get locked records info | Locked records info |
GET MEMORY STATISTICS | MEMORY STATISTICS |
Get Monitored Activity | Monitored activity |
GET MOUSE | MOUSE POSITION |
GET RESTORE INFORMATION | RESTORE INFO |
Get process activity | Process activity |
Get system info | System info |
Get table fragmentation | Table fragmentation |
Session storage by id | Session storage |
O método base On REST Authentication ficou obsoleto a partir de 4D 20 R6. A autenticação Force login agora é altamente recomendada para manejar o registro de usuarios REST.
Nos projetos convertidos, pode atualizar sua configuração clicando no botão Ativar autenticação REST através da configuração da função ds.authentify(). Consulte esta entrada de blog para saber como migrar seu código se for necessário.
A partir de 4D v20 R5, o plug-in 4D Internet Commands já não é oferecido com o instalador 4D. Se precisar dele, tem que baixar o arquivo 4DInternetCommands.bundle do portal de download de produtos 4D e instalar os arquivos de plug-in na pasta Plugins de seu projeto ou base de dados.
As funcionalidades de 4D Internet Commands abaixo são obsoletas:
Funcionalidade | Substituto | Estado |
IC Downloaded Mail | Email objects | Obsoleto, documentação eliminada |
IC IMAP Review Mail | IMAP Transporter | Obsoleto, documentação eliminada |
IC POP3 Review Mail | POP3 Transporter | Obsoleto, documentação eliminada |
IC Send Mail | SMTP Transporter | Obsoleto, documentação eliminada |
IC File Transfert | System workers | Obsoleto, documentação eliminada |
4D v20 R3 e outros lançamentos não incluem mais interprete integrado 4D PHP. A maioria das funcionalidades PHP estão implementadas em 4D e decidimos remover o interprete PHP integrado. PHP Execute e outros comandos PHP vão continuar funcionando mas só com um intérprete PHP externo. Veja a página Executar scripts PHP em 4D , e também este artigo para saber mais.
REplicação SQL e mecanismos de sincronização ( descritos em Replicação via SQL) estão obsoletos desde 4D v20 R3. Ainda são aceitos mas agora é recomendado usar uma funcionalidade baseada em ORDA Global Stamp (carimbo global), oferecendo uma solução flexível e robusta para implementar a replicação e sincronização em 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.
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 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 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 R7)