4D v16

Funcionalidades obsoletas o eliminadas en la gama v16

Inicio

 
4D v16
Funcionalidades obsoletas o eliminadas en la gama v16

Funcionalidades obsoletas o eliminadas en la gama v16    


 

Las versiones 64 bits de 4D favorecen a las tecnologías más recientes y no soportan aquellas que hayan sido declaradas obsoletas en versiones anteriores de 4D. Para obtener una lista completa de funciones que no son soportadas en la gama de productos de 64 bits de 4D, consulte la sección Funcionalidades específicas de versiones 64 bits en el manual de Diseño.

El lenguaje XSLT, inspirado por los conceptos de programación funcional, transforma los datos XML a cualquier formato (XML, HTML, o cualquier otro tipo). Los principales navegadores web, así como también el software 4D han implementado la especificación XSLT 1.0.

Actualmente, la tendencia XSLT está en declive porque los desarrolladores consideran que es difícil de usar y de depurar.  Siguiendo esta tendencia, así como también los comentarios de los desarrolladores, hemos decidido que la funcionalidad de transformación XSL no será desarrollada para versiones 4D de 64 bits.

Nota: para visualizar las tendencias de búsqueda XSLT en Google: http://www.google.com/trends/explore#q=xslt      

Sin embargo, para soportar a nuestros clientes que siguen utilizando XSLT en 4D, elegimos confiar en la librería XSL PHP, que ofrece una completa API que le permite realizar todas las operaciones necesarias para sus transformaciones XSL. Esta librería es una herramienta eficaz que puede sustituir fácilmente los comandos _o_XSLT APPLY TRANSFORMATION, _o_XSLT SET PARAMETER y _o_XSLT GET ERROR  después de su eliminación. 4D ha producido un documento específico para ayudarle a utilizar PHP XSL como un reemplazo para los comandos XSLT de 4D:  Descarga XSLT con el documento técnico PHP (PDF).

También le sugerimos que considere el uso de etiquetas 4D cuando se trata de la generación dinámica de páginas HTML, ya que en la mayoría de los casos es más fácil si maneja código HTML como texto sin formato (ver también el comando PROCESS 4D TAGS).

Por compatibilidad, las transformaciones XSL se siguen soportando en 4D, pero su uso no se recomienda. El soporte del procesamiento XSLT se eliminará en futuras versiones de 4D.

Nota para versiones 64 bits: XSLT no está disponible con 4D 64 bits (OS X y Windows) y 4D Server 64 bits para OS X. Por lo tanto, al llamar uno de estos comandos XSLT desde esta aplicación generará un error 33 "Comando o función no implementado".

El formato PICT no se soportará en los próximos grandes lanzamientos de 4D y ya no debe utilizarlo en 4D. El comando GET PICTURE FORMATS ayuda a detectar y filtrar imágenes utilizando el formato PICT en su archivo de datos (la función _o_AP Is Picture Deprecated de 4D Pack es ahora obsoleta).

Nota: el formato "PICT" Mac ya ha sido desaprobado por Apple desde varias versiones anteriores de Mac OS (consulte la descripción del formato PICT en Wikipedia).

El formato 'PICT' es un formato muy antiguo Mac. Antes de la versión 11, 4D almacenaba todas las imágenes en este formato, incluso en Windows. El formato PICT es obsoleto desde que QuickDraw se declaró obsoleto en 2005.

Hay algo importante de entender sobre PICT. Puede almacenar ("encapsular") 2 tipos principales de información:

  • el dibujos en sí (ya sea mapa de bits o vectorial), o
  • un formato más moderno (JPEG, por ejemplo) almacenado en un PICT utilizando QuickTime. (Por lo general, el desarrollador estaba llamando _o_QT COMPRESS PICTURE con la constante QT Photo compressor).

Esto significa que incluso antes cuando todas las imágenes almacenadas en los archivos de datos eran PICT, esos PICT podían, de hecho, contener los archivos JPEG (u otros formatos). Es importante que nuestros clientes dejen de usar PICT, no sólo porque está obsoleto, sino también porque 4D necesita Altura (+ QuickTime si se utilizó _o_QT COMPRESS PICTURE) para leer PICT en Windows. Esto no es eficiente, y requiere que QuickTime este instalado.

Al migrar datos de versiones anteriores a la v11, los desarrolladores deben aplicar el comando CONVERT PICTURE para cada campo imagen de los datos. Al convertir los datos de las versiones más recientes, se recomienda utilizar el comando GET PICTURE FORMATS para encontrar las imágenes en su archivo de datos que deben ser convertidas.

A partir de la v16, se pueden detectar imágenes que utilizan el formato obsoleto PICT en en la estructura de su base a través del Centro de seguridad y mantenimiento (CSM). Cuando utiliza la funcionalidad Verificar la aplicación, el archivo de historial producido incluye advertencias que indican las imágenes encontradas que utilizan o contienen el formato PICT. Estas advertencias pueden referirse a imágenes estáticas, así como también a imágenes encontradas en la librería de imágenes o en objetos de formulario.

Nota: depende de usted eliminar o reemplazar las imágenes que usan el formato PICT obsoleto. El uso del CMS para realizar una operación Reparar el archivo de estructura no tiene ningún efecto en las imágenes "obsoletas" y las mismas advertencias aparecerán en su archivo de historial.

El soporte para los codecs de imágenes relacionados con QuickTime ya es obsoleto.

Por defecto, el uso de QuickTime está deshabilitado desde 4D v14. Sin embargo, por razones de compatibilidad, se puede habilitar su uso utilizando la nueva opción
QuickTime support con los comandos SET DATABASE PARAMETER, Get database parameter (excepto en versiones 64 bits de 4D, donde QuickTime no se soporta). 

Durante varios años, el manejo de imágenes bajo la versión Windows de QuickTime no ha evolucionado (sólo la parte de vídeo está evolucionando). Tenemos la intención de eliminar el soporte para estas APIs específicas en la próxima versión.

4D para Windows de forma nativa soporta todos los principales formatos (JPEG, PNG, GIF, TIFF, etc.), y también soporta WIC (Windows Imaging Component). Si, en sus datos, usted tiene algunas imágenes guardadas en Windows en un formato específico conocido sólo por QuickTime, puede convertirlos (CONVERT PICTURE).

También le recordamos que el soporte para los formatos de imagen de QuickTime se ha eliminado de la versión de 64 bits de 4D Server para Windows como de 4D v12.

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.

El uso de números de identificación QuickDraw para designar fuentes es obsoleto y no debe ser utilizarse más. Los comandos _o_Font number y _o_Font name se conservan en 4D v15 y superiores por compatibilidad, pero se eliminarán en versiones posteriores. El comando OBJECT SET FONT ahora sólo acepta nombres de fuentes.

Altura Mac2Win se utilizó para llevar 4D a Windows. Es un conjunto de APIs que ayudaron a llevar código Mac OS (pre OS X) a Windows, mediante la traducción de las APIs: filesystem, QuickDraw, Resources, PICT, etc. Fue muy útil y ayudó mucho (los desarrolladores Mac plug-in, por ejemplo, podían mover sus plug-ins a Windows más fácilmente), pero traduce APIs Mac OS antiguas ("obsoleto") y no utiliza la API de Windows nativo moderno: 4D debe eliminar Mac2Win de su código lo más posible. Esto es un trabajo largo y duro y en cada versión de 4D, algunas dependencias se eliminan (y sustituyen por APIs modernas).

En este momento, 4D todavía depende en parte, sobre todo para poder manejar la compatibilidad de antiguas bases de datos: Recursos, PICT, parte de la gestión de los eventos de usuario, soporte para los plug-ins de terceros que están integrados utilizando Altura, etc.

Mediante la eliminación de recursos en el archivo .RSR para separar los archivos en la carpeta "Recursos" y mediante la conversión (CONVERT PICTURE) a no-PICT, el desarrollador 4D estará listo una vez 4D ha eliminado Altura. Pero las primeras personas preocupadas por este gran paso son los desarrolladores del plug-in. Ellos deben dejar de usar Altura tan pronto como sea posible, lo que significa que tienen que reescribir algunas partes de su código fuente Windows. (Ya les habíamos advertido desde hace varios años.

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

Note: 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.

El soporte al modo ASCII (sinónimo de "modo no Unicode") conduce a un bajo rendimiento en la manipulación de texto, ya que se debe convertir desde y hacia Mac-roman cada vez que se utiliza en la estructura legacy-converted. Planeamos eliminar el modo ASCII en futuras versiones principales.

Note que el soporte para el modo ASCII ya se retiró para estructuras compiladas que se ejecuten bajo 4D Server 64 bits para Windows. 

Los desarrolladores 4D deben, para estructuras convertidas, activar el modo Unicode. La documento PDF Conversión a 4D v14 da pistas sobre este tema.

Nota para versiones 64 bits: el modo ASCII no es soportado en versiones de 4D y 4D Server.

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.

Hay dos tipos de plug-ins: los que utilizan el nuevo plug-in API y los que siguen utilizando el viejo (con QuickDraw). Para los plug-ins que utilizan la vieja caja de herramientas (con QuickDraw): para mantener la compatibilidad, el dibujo/renderización ya no se realiza directamente en un puerto QuickDraw, como en las versiones anteriores, pero en su lugar a través de un área GWorld QuickDraw offscreen dedicada al plugin.

En consecuencia, hay que respetar algunas reglas, como los plug-ins no deben modificar el puerto actual definido por el contenedor (objeto formulario).

Para los plug-ins que utilizan la nueva caja de herramientas: sólo se utiliza esta nueva caja de herramientas y no QuickDraw: (ver http://sources.4d.com/trac/4d_4dpluginapi/wiki/native_drawing)

4D Pack  

A lo largo de diferentes versiones, las rutinas más útiles de 4D Pack se han integrado progresivamente a 4D, mientras que las obsoletas se han eliminado. 4D Pack v16 ahora contiene sólo un pequeño número de rutinas y no evolucionará más. A partir de 4D v16, el plug-in 4D Pack en su conjunto es obsoleto y ya no se ofrece en las futuras versiones de 4D. Consulte la siguiente tabla para averiguar las soluciones de reemplazo disponibles (si las hay) para las rutinas restantes.

El plug-in OLE_Tools (disponible sólo en Windows) ahora es obsoleto en versiones 4D 32 bits y no se soporta en versiones 4D 64 bits. Las funcionalidades ofrecidas por este plug-in heredado pueden ser reemplazadas, dependiendo del caso, por el comando Áreas web, LAUNCH EXTERNAL PROCESS o PHP.

ComandoRemplazado conObsoleto desdeEstado actual
Tema Entorno 4D:
_o_ADD DATA SEGMENT-v11Obsoleto
_o_DATA SEGMENT LIST-v11Obsoleto
Tema Backup:
_o_INTEGRATE LOG FILEINTEGRATE MIRROR LOG FILEv16Obsoleto
Tema Compilador:
_o_ARRAY STRINGARRAY TEXTv12Obsoleto
_o_C_GRAPH(uso de SVG con el comando GRAPH)v12Obsoleto
_o_C_INTEGERC_LONGINTv12Obsoleto
_o_C_STRINGC_TEXT(siempre que la base esté en Unicode)v12Obsoleto
Tema Entrada:
_o_ADD SUBRECORDADD RECORD en la tabla n de una relación N->1v12Obsoleto
_o_MODIFY SUBRECORDMODIFY RECORD en la tabla n de una relación N->1v12Obsoleto
Tema Eventos formulario:
_o_DuringRemplazar con Evento formulario y el evento apropiadov12Obsoleto
Tema Gráficos:
GRAPH (utilizando 4D Graph Area)Utilice SVG picture en su lugarv12Obsoleto
_o_GRAPH TABLECrea los datos en arrays y llama GRAPH en una imagen SVGv13Desactivado en 4D v14
Tema listas jerárquicas:
_o_REDRAW LISTEliminar en código (no hace nada desde v11)v11Obsoleto
Tema Objetos (Formularios):
_o_DISABLE BUTTON/_o_ENABLE BUTTONOBJECT SET ENABLEDv12Obsoleto
Tema Imágenes:
_o_PICTURE TYPE LISTPICTURE CODEC LISTv12Obsoleto
_o_QT COMPRESS PICTURECONVERT PICTUREv12Obsoleto
_o_QT COMPRESS PICTURE FILEWRITE PICTURE FILE/PICTURE TO BLOBv12Obsoleto
_o_QT LOAD COMPRESS PICTURE FROM FILEREAD PICTURE FILE/CONVERT PICTUREv12Obsoleto
_o_SAVE PICTURE TO FILEWRITE PICTURE FILEv12Obsoleto
Tema Recursos: todos los comandos de lectura/creación de recursos, como:
_o_ARRAY TO STRING LIST-v12Obsoleto
_o_Create resource file-v12Obsoleto
_o_DELETE RESOURCE-v12Obsoleto
_o_Get component resource ID-v12Obsoleto
_o_SET PICTURE RESOURCE-v12Obsoleto
_o_SET RESOURCE-v12Obsoleto
_o_SET RESOURCE NAME-v12Obsoleto
_o_SET RESOURCE PROPERTIES-v12Obsoleto
_o_SET STRING RESOURCE-v12Obsoleto
_o_SET TEXT RESOURCE-v12Obsoleto
Tema SQL:
_o_USE EXTERNAL DATABASESQL LOGINv12Obsoleto
_o_USE INTERNAL DATABASESQL LOGOUTv12Obsoleto
Tema Cadena de caracteres:
_o_Convert caseCONVERT FROM TEXT/Convert to text si es necesario. v11Obsoleto
_o_ISO to MacRemover el comando del método si la conversión no es necesariav11Obsoleto
_o_Mac to ISO (lo que significa que la base corre en modo Unicode)v11Obsoleto
_o_Mac to Winv11Obsoleto
_o_Win to Macv11Obsoleto
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 relationv12Obsoleto
Tema Documentos del sistema:
Document type-v12Obsoleto
Tema Entorno sistema:
_o_Font nameUtilice los identificadores de fuentev14Obsoleto
_o_Font numberQuickDraw está obsoleto, de manera que los comandos _o_Font name y _o_Font number están obsoletos.v14Obsoleto.
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.
Tema Interfaz Usuario:
_o_Get platform interface/_o_SET PLATFORM INTERFACEPuede ser utilizado para una aplicación convertida; con la constante  Automatic Platformv12Obsoleto
Tema Ventanas:
_o_Open external windowNo se soporta en las versiones 64 bitsv16Obsoleto<br/>
Tema XML:
_o_XSLT APPLY TRANSFORMATIONUtilice el módulo libxslt PHP o el comando MissingRefv14R4Obsoleto
_o_XSLT GET ERRORUtilice el módulo libxslt PHP o el comando MissingRefv14R4Obsoleto
_o_XSLT SET PARAMETERUtilice el módulo libxslt PHP o el comando MissingRefv14R4Obsoleto

Comandos 4D Pack:
_o_AP ShellExecuteLAUNCH EXTERNAL PROCESSv11Eliminado
_o_AP Save BMP 8 bitsUtilice los comandos 4D del tema "Imágenes"v14 R5Eliminado
_o_AP FCLOSE, _o_AP fopen, _o_AP FPRINT, _o_AP fread-v14 R5Eliminado
_o_AP Get file MD5 digestGenerate digestv14 R5Eliminado
_o_AP BLOB to print settingsBLOB to print settingsv16Obsoleto
_o_AP Print settings to BLOBPrint settings to BLOBv16Obsoleto
_o_AP Is picture deprecatedGET PICTURE FORMATSv16Obsoleto
_o_AP NORMAL SCREEN, _o_AP FULL SCREEN-v16Obsoleto
_o_AP Get field infos, _o_AP Get table infos-v16Obsoleto
_o_AP Get tips state, _o_AP SET TIPS STATE-v16Obsoleto[#/table]

Para mayor claridad en el lenguaje 4D, a partir de 4D v15, cada comando obsoleto tiene un prefijo "_o_", si este no era ya el caso y ya no están disponibles en listas 4D (editor de código, funcionalidad de digitación anticipada, etc.).
No se eliminarán del código existente y continuarán trabajando normalmente siempre que sean soportados. Es posible (pero no se recomienda) añadir un comando obsoleto en un método simplemente introduciendo su nombre con el prefijo "_o_"; será interpretado correctamente.

 
 

 
PROPIEDADES 

Producto: 4D
Tema: Funcionalidades obsoletas o eliminadas en la gama v16

 
HISTORIA 

New
Modificado: 4D v16

 
ARTICLE USAGE

Funcionalidades obsoletas y eliminadas ( 4D v16)