Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R8
Funcionalidades obsoletas o eliminadas
|
Funcionalidad | Remplazar con | Estado en la versión actual de 4D |
Comandos de declaración C_XXX | var, #DECLARE and function prototypes | Obsoleto |
Método base On 4D Mobile Authentication | Force login and authentify() function | Obsoleto |
Built-in PHP interpreter | Intérprete PHP externo | Eliminado |
Replicación vía SQL | ORDA Global Stamp | Obsoleto |
Driver PDFCreator | Native Windows PDF driver | Obsoleto |
Incumplimiento de la notación de objetos | Verifique la conformidad y active la opción de compatibilidad Utilizar de notación de objetos | Eliminado |
Variables interproceso | Shared objects and collections, | Obsoleto |
4D ODBC Pro | Built-in ODBC/SQL Pass through, 4D REST API | Eliminado |
4D for OCI en macOS | Built-in ODBC/SQL Pass through, 4D REST API | Eliminado |
4D ODBC Driver en macOS | 4D REST API | Eliminado |
4D Internet Commands - Mail | Transporters (IMAP, SMTP, POP3), Email objects | Obsoleto |
4D Internet Commands - File Transfert | System workers | Obsoleto |
Formularios usuario | Formularios dinámicos | Obsoleto |
Asignación dinámica de variables recibidas por medio de HTTP (opción compatibilidad para bases creadas antes de v13.4) | Comando (para recuperar variables). Comandos / (para recuperar archivos enviados) | Obsoleto |
Subtablas convertidas | Utilice las tablas N->1 | Obsoleto |
APIs de archivos y carpetas en Mac | , | Obsoleto |
Acciones estándar basadas en código | Modelos de cadenas (constantes "ak" del tema Valores Texto para Acción estándar asociada) | Obsoleto |
Recursos Mac | Utilice la carpeta "Resources". Por compatibilidad, aún puede utilizarla en bases convertidas. Ya no soportamos comandos de acceso a escritura. | OS (iconos cicn: eliminado.) Los archivos Database.RSR no se abren automáticamente. Debe utilizar . |
Gestión de prioridad de la CPU | ninguno | Obsoleto |
Antigua capa de red | Utilizar ServerNet | Obsoleto |
4D Mobile | ORDA y REST Server | Obsoleto |
Wakanda connection (4D Mobile) | ORDA y REST Server | Obsoleto |
Explicación de los valores para la columna “Estado”:
Los comandos obsoletos no se eliminarán del código existente y seguirán funcionando normalmente mientras sean compatibles. Cuando un comando obsoleto lleva el prefijo "_o_", deja de estar disponible en las listas de 4D (editor de código, función tecleo predictivo, etc.) pero sigue siendo posible (aunque no recomendable) añadirlo en un método simplemente introduciendo su nombre con el prefijo "_o_"; se interpretará correctamente.
Comando | Remplazado por | Obsoleto desde |
Tema Entorno 4D: | ||
- | v11 | |
Tema Backup: | ||
v16 | ||
Tema Compilador: | ||
var, #DECLARE and function prototypes | 20 R7 | |
v12 | ||
(utilice SVG con el comando ) | v12 | |
v12 | ||
(en cuanto la base de datos esté en Unicode) | v12 | |
Tema Entrada: | ||
en la tabla n de una relación N->1 | v12 | |
en la tabla n de una relación | v12 | |
Tema Arrastrar y soltar: | ||
Comandos del tema Portapapeles | v17 R4 | |
Tema Eventos formulario: | ||
Remplazar con y el evento apropiado | v12 | |
Tema Formularios: | ||
Disabled | v17 R4 | |
Tema Gráficos: | ||
(utilizando 4D Graph Area) | Utilice imagen SVG en su lugar | v12 |
Tema listas jerárquicas: | ||
Eliminar en código (no hace nada desde v11) | v11 | |
Tema Interrupciones: | ||
Last errors | 20 R7 | |
Tema Licencias: | ||
License info | 20 R7 | |
Tema List Box: | ||
constantes: | ||
_o_lk display hor scrollbar/_o_lk display ver scrollbar | v16 R3 | |
_o_lk footer height | v16 R3 | |
_o_lk header height | v16 R3 | |
_o_lk hor scrollbar position/_o_lk ver scrollbar position | v16 R3 | |
Tema Objetos (Formularios): | ||
v16 R3 | ||
v18 | ||
Tema Imágenes: | ||
v16 R5 | ||
Tema impresión: | ||
, , , | v18 | |
Tema Procesos: | ||
Process info | 20 R7 | |
Tema Selecciones: | ||
ORDA | v18 | |
Tema SQL: | ||
v12 | ||
v12 | ||
Tema Cadena: | ||
v11 | ||
v11 | ||
Tema Subregistros: todos los comandos | Remplazar “nnn SUBRECORD” y “nnn SUBSELECTION” con una acción sobre el registro N o la selección N de la tabla N en una relación N->1 | v12 |
Tema Documentos del sistema: | ||
v12 | ||
v16 R6 | ||
v16 R6 | ||
v16 R6 | ||
Utilice UTIs y Info.plist | v16 R6 | |
Tema Entorno sistema: | ||
Utilizar identificadores de fuentes | v14 | |
El comando ya no acepta un parámetro LongInt para la fuente: este parámetro es ahora una Cadena y debe especificar el nombre de la fuente. | ||
/ / | v17 | |
/ / | v17 | |
No hace nada en macOS | 20 R7 | |
Tema Formularios usuario: | ||
Formularios dinámicos | v17 R4 | |
Formularios dinámicos | v17 R4 | |
Formularios dinámicos | v17 R4 | |
Formularios dinámicos | v17 R4 | |
Tema servidor Web: | ||
Utilizar sesiones escalables | v18 R6 |
Una lista alfabetica de estos comandos obsoletos puede consultarse en el anexo Comandos obsoletos de SET LIST ITEM ICON.
Por razones de coherencia, varios comandos han cambiado de nombre en 4D 20 R7.
Nombre anterior | Nuevo nombre (4D 20 R7 y 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 |
El método base On REST Authentication quedó obsoleto a partir de 4D 20 R6. La autenticación Force login es ahora altamente recomendada para manejar el registro de usuarios REST.
En los proyectos convertidos, puede actualizar su configuración haciendo clic en el botón Activar autenticación REST a través de la configuración de la función ds.authentify(). Consulte esta entrada de blog para saber cómo migrar su código si es necesario.
A partir de 4D v20 R5, el plug-in 4D Internet Commands ya no se ofrece con el instalador 4D. Si lo requiere, debe descargar el archivo 4DInternetCommands.bundle del portal de descarga de productos 4D e instalar los archivos del plug-in en la carpeta Plugins de su proyecto o base de datos.
Las siguientes funcionalidades de 4D Internet Commands son obsoletas:
Funcionalidad | Reemplazo | Estado |
IC Downloaded Mail | Email objects | Obsoleto, documentación eliminada |
IC IMAP Review Mail | IMAP Transporter | Obsoleto, documentación eliminada |
IC POP3 Review Mail | POP3 Transporter | Obsoleto, documentación eliminada |
IC Send Mail | SMTP Transporter | Obsoleto, documentación eliminada |
IC File Transfert | System workers | Obsoleto, documentación eliminada |
4D v20 R3 y las próximas versiones ya no incluyen un intérprete PHP integrado en 4D. La mayoría de las funcionalidades que ofrece PHP están ahora implementadas en 4D y hemos decidido eliminar el intérprete PHP integrado. y otros comandos PHP continuarán funcionando pero sólo con un intérprete PHP externo. Ver la página OBJECT GET BEST SIZE y también esta entrada de blog para más información.
Los mecanismos de replicación y sincronización SQL (descritos en Replicación vía SQL) son obsoletos a partir de 4D v20 R3. Aún son soportados pero ahora se recomienda utilizar la funcionalidad Global Stamp,basada en ORDA, que ofrece una solución flexible y robusta para implementar la replicación y sincronización en 4D.
A partir de 4D v20, la conformidad del código de su base con la notación de objetos es obligatoria. Si intenta convertir una base en la que la opción Utilizar la notación de objetos para acceder a las propiedades de los objetos aún no está marcada (modo de compatibilidad, ver Página Compatibilidad), 4D mostrará una caja de diálogo que le permitirá habilitar temporalmente la opción para poder abrir la base de datos. Todavía necesita marcar la opción explícitamente para habilitarla permanentemente, sin embargo se recomienda verificar la compatibilidad de la aplicación de antemano utilizando el CMS.
Si hace clic en Cancelar o si la base no permite el acceso al modo de desarrollo (base compilada, sin acceso en diseño...), se genera el error -10537 y la base de datos no se abre.
Nota: el modo de compatibilidad sólo estaba disponible en bases binarias.
El driver PDFCreator es obsoleto desde 4D v20. Windows 10 y versiones superiores incluyen un controlador PDF nativo. La constante PDFCreator Printer name ha sido renombrada _o_PDFCreator Printer name.
Después de años de servicio, es hora de que se retiren: las variables interproceso están son obsoletas. El uso de variables interproceso no se recomienda en los proyectos 4D porque no están disponibles desde los procesos apropiativos y no están adaptadas al manejo de valores complejos como arrays, objetos o colecciones (cuando no son compartidos) provenientes de múltiples procesos simultáneos. Finalmente, tienden a hacer que el código sea menos fácil de mantener. Para compartir valores de objetos y colecciones entre procesos, recomendamos encarecidamente utilizar las colecciones y objetos compartidos y/o singletons.
A partir de 4D Write Pro v19 R4, puede gestionar los saltos de fila. Para evitar confusiones con los saltos de párrafos y tablas, ahora todos los saltos se manejan mediante constantes dedicadas y acciones estándar (ver Atributos 4D Write Pro y Utilizar las acciones estándar 4D Write Pro). La constante genérica anterior (_o_wk page break inside) y la acción estándar (avoidPageBreakInsideEnabled) están en desuso y se admiten solo por razones de compatibilidad.
A partir de 4D v19, el plug-in 4D ODBC Pro ya no está disponible en todas las plataformas. Recomendamos utilizar el pass-trough integrado ODBC/SQL (ver y Presentación de los comandos SQL) o la API REST 4D para manejar las funciones de conectividad ODBC/SQL.
A partir de 4D v19, el plug-in 4D for OCI ya no está disponible en macOS. Recomendamos utilizar el pass-through integrado ODBC/SQLL (ver y Presentación de los comandos SQL) o la API REST 4D para manejar las funcionalidades de conectividad en esta plataforma.
A partir de 4D v19, el Driver 4D ODBC ya no está disponible en macOS. Recomendamos utilizar el API 4D REST para el acceso a datos externos en esta plataforma.
La opción de almacenamiento de archivos de datos externos ya no se soporta para los campos de tipo de objeto (ver Almacenamiento en el registro, en el archivo de datos, fuera del archivo de datos). Si se seleccionó esta opción para un campo objeto, se convierte automáticamente a En archivo de datos y se usa para nuevos registros. Los datos existentes en los campos objeto se reescriben de forma transparente en la nueva ubicación cuando se guarda el registro principal. Para forzar que todos los registros se reescriban a la vez, puede compactar el archivo de datos con la opción "Actualizar registros".
A partir de 4D v17 R4, los formularios de usuario están en desuso. Para ofrecer interfaces de usuario personalizables, ahora se recomienda utilizar formularios dinámicos (ver Formularios dinámicos en Manual de Diseño). Todos los comandos dentro del tema "Formularios de usuario" han quedado en desuso.
Los formularios de usuario aún son soportados por compatibilidad, sin embargo, ya no deben utilizarse. Su soporte será eliminado en futuras versiones.
En las versiones anteriores de 4D, el servidor web recopiaba automáticamente el valor de las variables enviadas a través de un formulario web o una URL en las variables 4D cuando tenían el mismo nombre.
Por razones de optimización y control, este principio no se mantiene a partir de 4D v14: el valor de las variables Web ya no se asigna automáticamente a las variables 4D. Para recuperar las variables enviadas utilizando un POST o un GET, debe utilizar el comando WEB GET VARIABLES exclusivamente. Para recuperar las imágenes enviadas, debe utilizar los comandos WEB GET BODY PART/WEB Get body part count.
Nota: la asignación dinámica también está desactivada por defecto en las bases de datos 4D creadas a partir de la versión 13.4.
Sin embargo, por compatibilidad, este mecanismo se mantiene por defecto en las bases de datos creadas con una versión de 4D anterior a la 13.4. En este caso, se puede desactivar el uso de la opción de compatibilidad de asignación de variable automática en la página Compatibilidad de las Propiedades de la base.
Dado que este mecanismo es obsoleto, se recomienda desmarcar esta opción en sus bases de datos convertidas (y adaptar su código si es necesario) con el fin de facilitar futuras evoluciones.
En varias versiones principales, 4D ha advertido a los desarrolladores en contra del uso de las subtablas. Desde 4D v11, es imposible crear un campo del tipo subtabla. Los subregistros tienen algunas limitaciones conocidas. Por ejemplo, siempre se cargan en memoria; no se manejan por los comandos SEND RECORD o DUPLICATE RECORD.
No tenemos planes de eliminar el soporte para las subtablas en un futuro próximo, pero es realmente el momento de que los desarrolladores conviertan sus subtablas a tablas N-> regulares porque tenemos la intención de eliminarlas en una futura versión principal de 4D. Los desarrolladores que utilizan subtablas por razones de rendimiento (algunas situaciones específicas en las que la carga de los registros relacionados de era lenta) pueden estar tranquilos, especialmente con v12: utilizar las relaciones N <-> 1 clásicas es muy rápido.
Básicamente, hay dos formas principales para eliminar subtablas (nota: lo siguiente no es una tecnología completa de punta; sólo una visión general rápida):
Lo que queremos decir con "cambiar el código por todas partes si es necesario" es, básicamente:
Nota: a partir de 4D v14 R3, puede asignar valores a los campos "id_added_by_converter" especiales que se agregan automáticamente por 4D cuando convierte una base de datos que contiene subtablas. Esto le permite mantener el enlace "relación subtabla", y agregar o modificar registros relacionados, sin necesidad de usar comandos en desuso tales como . Una vez que haya actualizado sus métodos, estas relaciones especiales pueden ser sustituidas por otros estándares con ningún cambio en su código.
A partir de 4D v16 R6, las APIs basadas en Mac OS 9 para la administración de archivos y carpetas están en desuso en 4D. Estas API ya han quedado obsoletas por Apple desde hace mucho tiempo.
Los comandos 4D que dependen de las antiguas API se han renombrado: , , , y . Estos comandos se mantienen por compatibilidad, pero están en desuso y ya no deben utilizarse. 4D incluye dos nuevos comandos para manejar nombres de rutas y extensiones de archivos: y .
Las acciones estándar han sido rediseñadas internamente en 4D v16 R3. Ahora se basan en patrones de cadena y parámetros de soporte (para más información, consulte la sección Acciones estándar).
En las aplicaciones convertidas, las acciones estándar se vuelcan de forma transparente al nuevo diseño. Sin embargo, en el lenguaje 4D, las acciones estándar se basaban previamente en valores de código. Este principio es obsoleto y no debe utilizarse:
Esta es otra antigua tecnología Mac OS, en desuso desde Mac OS X 10.4 (Tiger, 2005). Los recursos se utilizan para almacenar datos estructurados, como texto y cadenas (localización), así como también iconos, etc. Básicamente, podemos decir que no son los recursos los que están en desuso, es su soporte en disco, conocido como el resource fork. El resource fork es parte del sistema de archivos de Mac OS y desde el inicio de Mac OS X, Apple ha tratado de eliminar este soporte, ya que no es compatible con otros sistemas de archivos (Unix, Windows), y es la fuente de una gran cantidad de problemas cuando los archivos se transfieren a través de la red.
En Windows, este mecanismo se emula y y los recursos Mac residen en un archivo .RSR.
Pero aún así, incluso si aún hay APIs para manejar los recursos (y Mac OS maneja de forma transparente los recursos almacenados en un data fork), ya no se recomienda utilizar este viejo mecanismo por varias razones:
Hemos eliminado soporte para comandos de escritura/creación de recursos
La gran mayoría de las aplicaciones 4D que utilizan recursos están, de hecho, utilizando recursos "Strings List", 'STR#'. 4D ofrece las herramientas para cambiar fácilmente del STR # a XLIFF:
Para otros tipos de recursos:
Producto: 4D
Funcionalidades obsoletas o eliminadas ( 4D v20 R8)