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
Funcionalidades obsoletas o eliminadas
|
Funcionalidad | Remplazar con | Estado en la versión actual de 4D |
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, Storage | Obsoleto |
4D ODBC Pro | ODBC/SQL Pass through integrado o 4D REST API | Eliminado |
4D for OCI en macOS | ODBC/SQL Pass through integrado o 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 WEB GET VARIABLES (para recuperar variables). Comandos WEB GET BODY PART/WEB Get body part count (para recuperar archivos enviados) | Obsoleto |
Subtablas convertidas | Utilice las tablas N->1 | Obsoleto |
APIs de archivos y carpetas en Mac | Path to object , Object to path | Obsoleto |
Acciones estándar basadas en código | Modelos de cadenas (constantes "ak" del tema Acción estándar) | 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 Open resource file. |
Gestión de prioridad de la CPU | ninguno | Obsoleto |
Antigua capa de red | Utilizar ServerNet | Obsoleto |
4D Mobile | ORDA y REST Server | Obsoleto |
Explicación de los valores para la columna “Estado”:
Cada comando obsoleto tiene el prefijo "_o_" y no está disponible en listas 4D (editor de código, funcionalidad de autocompletar, etc.). Los comandos obsoletos (o desaprobados) no se eliminarán del código existente y continuarán funcionando normalmente mientras sean compatibles. Todavía es posible (pero no se recomienda) agregar un comando obsoleto en un método simplemente ingresando su nombre con el prefijo "_o_"; Se interpretará correctamente.
Comando | Remplazado 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 |
Tema Arrastrar y soltar: | ||
_o_DRAG AND DROP PROPERTIES | Comandos del tema Portapapeles | v17 R4 |
Tema Eventos formulario: | ||
_o_During | Remplazar con Form event codey el evento apropiado | v12 |
Tema Formularios: | ||
_o_FORM GET PARAMETER | - | v17 R4 |
Tema Gráficos: | ||
GRAPH (utilizando 4D Graph Area) | Utilice SVG picture en su lugar | v12 |
Tema listas jerá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 Imágenes: | ||
_o_PICTURE TO GIF | PICTURE TO BLOB | v16 R5 |
Tema impresión: | ||
_o_PAGE SETUP | SET PRINT OPTION, GET PRINT OPTION, Print settings to BLOB, BLOB to print settings | v18 |
Tema Selecciones: | ||
_o_MOBILE Return selection | ORDA | v18 |
Tema SQL: | ||
_o_USE EXTERNAL DATABASE | SQL LOGIN | v12 |
_o_USE INTERNAL DATABASE | SQL LOGOUT | v12 |
Tema Cadena de caracteres: | ||
_o_Mac to Win | v11 | |
_o_Win to Mac | v11 | |
Tema Subregistros: todos los comandos | Remplazar “nnn SUBRECORD” y “nnnSUBSELECTION” con una acción en el registro N o N-selection de N-table en una N->1 relation | v12 |
Tema Documentos del 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 Entorno sistema: | ||
_o_Font name | Utilice los identificadores de fuente | v14 |
El comando OBJECT SET FONT ya no acepta un parámetro LongInt para la fuente: este parámetro ahora es una Cadena y debe especificar el nombre de fuente. | ||
_o_Gestalt | Get system info / Is macOS / Is Windows | v17 |
_o_PLATFORM PROPERTIES | Get system info / Is macOS / Is Windows | v17 |
Tema formularios usuario: todos los comandos | ||
_o_CREATE USER FORM | - | v17 R4 |
_o_DELETE USER FORM | - | v17 R4 |
_o_EDIT FORM | - | v17 R4 |
_o_LIST USER FORMS | - | v17 R4 |
Tema servidor Web: | ||
_O_WEB Get session process count | Utilice sesiones escalables | 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 |
Una lista alfabetica de estos comandos obsoletos puede consultarse en el anexo Comandos obsoletos de Manual de lenguaje 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.
Varios módulos PHP han sido eliminados del intérprete PHP incluido en 4D v20, la mayoría de ellos porque ya no son necesarios o están 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. Si su aplicación utilizaba un módulo eliminado, puede que necesite utilizar comandos 4D relevantes o un intérprete FastCGI-php externo. Para más información, consulte la sección Soporte de módulos PHP.
Desde 4Dv 19 R4, debido al soporte del operador ternario, ya no se permiten los dos puntos ":" en los nombres de variable, campo, constante, función, plugin y método proyecto.
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 SQL LOGIN y Presentación de los comandos del tema 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 SQL LOGIN y Presentación de los comandos del tema 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 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 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 _o_CREATE SUBRECORD. 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: _o_Document type, _o_Document creator, _o_SET DOCUMENT TYPE, _o_SET DOCUMENT CREATOR y _o_MAP FILE TYPES. 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: Path to object y Object to path.
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)