Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
Funcionalidades obsoletas o eliminadas

Funcionalidades obsoletas o eliminadas    


 

 

Durante más de 30 años, nuestro objetivo principal ha sido mejorar nuestro producto (utilizando nuevos conceptos y tecnologías) al tiempo que garantizamos la compatibilidad de las aplicaciones 4D. Como saben los primeros usuarios de 4D, siempre hemos puesto mucho esfuerzo en la compatibilidad, y podemos encontrar aplicaciones 4D en todo el mundo que se crearon hace años y años, con versiones antiguas de 4D y de un sistema operativo, que aún funcionan con las últimas revisiones del producto.

Desafortunadamente, a veces se vuelve demasiado difícil mezclar tecnologías antiguas con nuevas:

  • 4D debe brindar nuevas tecnologías, nuevas API y nuevos paradigmas a los desarrolladores
  • Los sistemas operativos cambian todos los días y, a veces, dejan de utilizar sus propias APIs antiguas

Es por eso que 4D a veces necesita etiquetar algunos comandos y funcionalidades como obsoletos, lo que significa que algún día se eliminarán del lenguaje en una versión principal futura.

Dejar que los desarrolladores sepan qué está en desuso y qué tipo de reemplazo se puede utilizar en su lugar hace que sea mucho más cómodo implementar el cambio en su código: no hay urgencia, no hay presión, y el desarrollador tiene tiempo de sobra para realizar los cambios necesarios.

 
FuncionalidadRemplazar conEstado en la versión actual de 4D
4D ODBC ProPass through integrado ODBC/SQL o 4D REST APIEliminado
4D for OCI en macOSPass through integrado ODBC/SQL o 4D REST APIEliminado
4D for OCI en macOS4D ODBC ProEliminado
4D ODBC Driver en macOS4D REST APIEliminado
Formularios usuarioFormularios dinámicos Obsoleto
Asignación dinámica de variables recibidas por medio de HTTP (opción compatibilidad para bases creadas antes de v13.4)[#/note]Comando WEB GET VARIABLES (para recuperar variables). Comandos WEB GET BODY PART/WEB Get body part count (para recuperar archivos enviados)Obsoleto
Subtablas convertidasUtilice las tablas N->1Obsoleto
APIs de archivos y carpetas en MacPath to object , Object to pathObsoleto
Acciones estándar basadas en códigoModelos 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. Necesita utilizar Open resource file.
Gestión de prioridad de la CPUningunoObsoleto
Antigua capa de redUse ServerNetObsoleto
4D MobileORDA y REST ServerObsoleto

Explicación de los valores para la columna “Estado”:

  • Eliminado: ya no está disponible en la versión actual (o la versión indicada).
  • Obsoleto: ya no se debe utilizar y se eliminará en una futura versión principal.
  • OS: depende de tecnologías OS oficialmente obsoletas (por ejemplo: formato PICT). Este estado es identico al estado Obsoleto, pero un sistema operativo podría retirar el soporte antes que nosotros.

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.

 

ComandoRemplazado porObsoleto desde
Tema Entorno 4D:
_o_DATA SEGMENT LIST-v11
Tema Backup:
_o_INTEGRATE LOG FILEINTEGRATE MIRROR LOG FILEv16
Tema Compilador:
_o_ARRAY STRINGARRAY TEXTv12
_o_C_GRAPH(uso de SVG con el comando GRAPH)v12
_o_C_INTEGERC_LONGINTv12
_o_C_STRINGC_TEXT(siempre que la base esté en Unicode)v12
Tema Entrada:
_o_ADD SUBRECORDADD RECORD en la tabla n de una relación N->1v12
_o_MODIFY SUBRECORDMODIFY RECORD en la tabla n de una relación N->1v12
Tema Arrastrar y soltar:
_o_DRAG AND DROP PROPERTIESComandos del tema Portapapelesv17 R4
Tema Eventos formulario:
_o_DuringRemplazar con Form event codey el evento apropiadov12
Tema Formularios:
_o_FORM GET PARAMETER-v17 R4
Tema Gráficos:
GRAPH (utilizando 4D Graph Area)Utilice SVG picture en su lugarv12
Tema listas jerárquicas:
_o_REDRAW LISTEliminar 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 scrollbarOBJECT GET SCROLLBARv16 R3
_o_lk footer heightLISTBOX Get footers heightv16 R3
_o_lk header heightLISTBOX Get headers heightv16 R3
_o_lk hor scrollbar position/_o_lk ver scrollbar positionOBJECT GET SCROLL POSITIONv16 R3
Tema Objetos (Formularios):
_o_OBJECT Get actionOBJECT Get actionv16 R3
_o_OBJECT SET COLOROBJECT SET RGB COLORSv18
Tema Imágenes:
_o_PICTURE TO GIFPICTURE TO BLOBv16 R5
Tema impresión:
_o_PAGE SETUPSET PRINT OPTION, GET PRINT OPTIONPrint settings to BLOBBLOB to print settingsv18
Tema Selecciones:
_o_MOBILE Return selectionORDAv18
Tema SQL:
_o_USE EXTERNAL DATABASESQL LOGINv12
_o_USE INTERNAL DATABASESQL LOGOUTv12
Tema Cadena de caracteres:
_o_Mac to Winv11
_o_Win to Macv11
Tema Subregistros: todos los comandosRemplazar “nnn SUBRECORD” y “nnnSUBSELECTION” con una acción en el registro N o N-selection de N-table en una N->1 relationv12
Tema Documentos del sistema:
_o_Document typePath to object v12
_o_Document creatorPath to object v16 R6
_o_SET DOCUMENT TYPEObject to pathv16 R6
_o_SET DOCUMENT CREATORObject to pathv16 R6
_o_MAP FILE TYPESUtiliza UTIs e Info.plistv16 R6
Tema Entorno sistema:
_o_Font nameUtilice los identificadores de fuentev14
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_GestaltGet system info / Is macOS / Is Windowsv17
_o_PLATFORM PROPERTIESGet system info / Is macOS / Is Windowsv17
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 countUse scalable sessionsv18 R6
4D Internet Commands:
FTP_ProgressDevuelve un error si se llamav16 R2
Nota: el parámetro progress ya no se soporta con FTP_Append, FTP_Receive, FTP_Send
POP3 Review Mail commands4D Mail tema integradov18
SMTP Send Mail commands4D Mail tema integradov18 R6

Una lista alfabetica de estos comando puede consultarse en el anexo Comandos obsoletos de Manual de lenguaje 4D.

Los siguientes comandos, anteriormente en desuso, han sido eliminados de 4D y no deben utilizarse en su código. Si se les llama, activarán un error (Error 33 - Comando o función no implementado).

Atención: las funcionalidades de verificación de sintaxis o compilación no pueden detectar las llamadas a los comandos eliminados. Debe verificar su código para asegurarse de que no contenga ninguna llamada a los comandos eliminados.

ComandoRemplazado porEliminado en
Tema Entorno 4D:
_o_ADD DATA SEGMENT-v17 R5
Tema Gráficos:
_o_GRAPH TABLEGenere los datos en los arrays y llame GRAPH en una imagen SVGv17 R5
Tema Lenguaje:
_o_NO TRACENo hay botón de seguimiento en el depuradorv18 R2
Tema Objetos (Formularios):
_o_DISABLE BUTTON / _o_ENABLE BUTTONOBJECT SET ENABLEDv18 R2
Tema Imágenes:
_o_PICTURE TYPE LISTPICTURE CODEC LISTv17 R5
_o_QT COMPRESS PICTURECONVERT PICTUREv17 R5
_o_QT COMPRESS PICTURE FILEWRITE PICTURE FILE/PICTURE TO BLOBv17 R5
_o_QT LOAD COMPRESS PICTURE FROM FILEREAD PICTURE FILE/CONVERT PICTUREv17 R5
_o_SAVE PICTURE TO FILEWRITE PICTURE FILEv17 R5
Tema Resources:
_o_ARRAY TO STRING LIST-v17 R5
_o_Create resource file-v17 R5
_o_DELETE RESOURCE-v17 R5
_o_Get component resource ID-v17 R5
GET ICON RESOURCE-v17 R5
_o_SET PICTURE RESOURCE-v17 R5
_o_SET RESOURCE-v17 R5
_o_SET RESOURCE NAME-v17 R5
_o_SET RESOURCE PROPERTIES-v17 R5
_o_SET STRING RESOURCE-v17 R5
_o_SET TEXT RESOURCE-v17 R5
Tema Cadenas:
_o_Convert caseCONVERT FROM TEXT/Convert to text cuando sea necesario. v17 R5
_o_ISO to MacSimplemente suprimir el comando desde el método, si la conversión no es necesariav17 R5
_o_Mac to ISO (lo que significa que la base es lanzada en modo Unicode)v17 R5
Tema Entorno sistema:
_o_Font numberUtilice los identificadores de fuentev17 R5
Tema interfaz de usuario:
_o_Get platform interface/_o_SET PLATFORM INTERFACEPueden ser utilizados únicamente para una aplicación convertida; con la constante Automatic Platformv17 R5
_o_INVERT BACKGROUND-v17 R5
Tema Servidor Web:
_o_SET CGI EXECUTABLE-v17 R5
_o_SET WEB DISPLAY LIMITS-v17 R5
_o_SET WEB TIMEOUT-v17 R5
_o_Web Context-v17 R5
Tema Ventanas:
_o_Open external window-v17 R5
Tema XML:
_o_XSLT APPLY TRANSFORMATIONUtilice el modulo PHP libxslt o el comando PROCESS 4D TAGSv17 R5
_o_XSLT GET ERRORUtilice el modulo PHP libxslt o el comando PROCESS 4D TAGSv17 R5
_o_XSLT SET PARAMETERUtilice el modulo PHP libxslt o el comando PROCESS 4D TAGSv17 R5

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 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):

  • Antes de la conversión de una estructura pre-v11: en 2004, crear la tabla N apropiada y el campo ID en la tabla 1 (si no está ya allí). Luego, cambie el código en todas las partes es necesario (ver más adelante).
  • Después de la conversión: en esta situación, 4D ha reemplazado la subtabla con una tabla N usando una relación especial, que permite que el lenguaje para trabajar con la subselección y los subregistros. El desarrollador 4D necesita eliminar esta relación especial, sustituirla por una relación normal y cambiar el código por todas partes si es necesario (ver más adelante).

Lo que queremos decir con "cambiar el código por todas partes si es necesario" es, básicamente:

  • Crear los nuevos formularios, actualizar los formularios incluidos
  • En los métodos (proyecto, formulario, objeto, etc.):
    • Remplace todos los comandos del tema "Subregistros" con el comando Selection o Record correspondiente (por ejemplo, reemplazar CREATE SUBRECORD con CREATE RECORD, llenando los campos ID)
    • Explícitamente cargar los registros N cuando sea necesario

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:

  • Los textos y las cadenas son Mac-roman. No se puede almacenar Unicode en recursos de tipo TEXT o STR#
  • Los recursos PICT almacenan PICTs: no es moderno, obsoleto, sin transparencia, etc. (Consulte el tema "PICT" arriba.)
  • El conteo de los recursos y el tamaño de los recursos son limitados (unos 2.700 recursos o 16 MB)

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:

  • El componente 4D Pop puede crear automáticamente los archivos XLIFF mediante la lectura y transferir el contenido de la STR #.
  • Todas las rutinas y las expresiones que hacen referencia a trabajo STR# sin cambio con XLIFF. Por ejemplo, si la etiqueta de un botón o un menú era ":15000,3" (que significa "conseguir el tercer elemento de STR# ID 15000"), 4D cargará el XLIFF apropiado (si existe).

Para otros tipos de recursos:

  • Poner los recursos en archivos separados dentro de la carpeta Resources (crear subdirectorios si es necesario):
    • Guardar recursos 'TEXT' en archivos XLIFF o .txt
    • Guardar recursos 'PICT' como archivos .jpg/.png/etc. separado
    • Guardar recursos 'PICT' + MASK’ como archivos png
    • Utilizar (en Mac) icns en lugar de ICON o iconos de colores
    • Guardar todos los recursos privados como sea apropiado para usted (normalmente: guardar como un archivo binario con una extensión específica)
  • Utilice la carpeta "Recursos" para almacenar sus recursos. Utilice Get 4D folder (carpeta de recursos actuales) para obtener dinámicamente la ruta padre para sus recursos.

 
 

 
PROPIEDADES 

Producto: 4D Chart
Tema: Funcionalidades obsoletas o eliminadas

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

 
ARTICLE USAGE

Notas del lanzamiento 4D v19.x ( 4D v19)
Notas del lanzamiento 4D v19.x ( 4D v19.1)
Notas del lanzamiento 4D v19.x ( 4D v19.2)
Notas del lanzamiento 4D v19.x ( 4D v19.3)
Notas del lanzamiento 4D v19.x ( 4D v19.4)
Notas del lanzamiento 4D v19.x ( 4D v19.5)
Notas del lanzamiento 4D v19.x ( 4D v19.6)
Notas del lanzamiento 4D v19.x ( 4D v19.7)
Notas del lanzamiento 4D v19.x ( 4D v19.8)