![]() |
¿por qué delphi 10.3 no reconoce "require vlc260"?
He abierto un proyecto viejo (desarrollado con delphi 5) que utiliza vlc50. Obviamente al no compilarme, lo he reemplazo por 260 y no funciona.
Código original en fichero DPK: Código:
requires |
Solución al error VLC260 y migración Delphi 5 a 10.3
El error que estás experimentando se debe a cambios fundamentales en el sistema de paquetes de Delphi entre la versión 5 y la 10.3. Te explico los detalles técnicos y la solución:
PRINCIPALES DIFERENCIAS EN PAQUETES BPL: En Delphi 5, los paquetes utilizaban nombres abreviados con el número de versión (VCL50.bpl, VCLDB50.bpl). A partir de Delphi 6, Borland/Embarcadero cambió el esquema de nomenclatura eliminando los números de versión de las unidades base del VCL. En Delphi 10.3 (versión 20.0), los paquetes ya no se llaman "vcl260" sino que tienen nombres descriptivos sin números. POR QUÉ NO FUNCIONA "VLC260": El problema principal es que intentas usar un nombre de paquete que no existe. En versiones modernas: - VCL50 ahora es simplemente "rtl" y "vcl" - VCLDB50 ahora es "vcldb" - VCLBDE50 fue deprecado (BDE está obsoleto) SOLUCIÓN PARA TU ARCHIVO DPK: Debes actualizar la sección requires de tu paquete de la siguiente manera: requires rtl, vcl, vcldb, dbrtl; Elimina referencias a BDE (VCLBDE50) ya que está obsoleto. Para componentes de terceros como RxCtl5 y NMFast50, necesitarás versiones actualizadas compatibles con Delphi 10.3. PASOS DETALLADOS PARA MIGRAR TU PROYECTO: 1. ACTUALIZAR REFERENCIAS DE PAQUETES: - Abre tu archivo .dpk en un editor de texto - Reemplaza todos los nombres antiguos por sus equivalentes modernos - Consulta la carpeta C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win32\release para ver los nombres reales de los BPL 2. COMPONENTES DE TERCEROS: - RxCtl5: Busca RxLib para Delphi 10.3 o alternativas como JVCL - NMFast50: NetMasters está obsoleto, migra a Indy (incluido en Delphi) o alternativas modernas - A402_R50: Verifica si existe versión actualizada de este componente 3. REVISAR UNIDADES: En la sección "uses", actualiza referencias: - FileCtrl ya no está en Controls, sino en su propia unidad - Graphics cambió algunas declaraciones - Muchas funciones de Windows API ahora están en Winapi.Windows 4. COMPILACIÓN CONDICIONAL: Si necesitas mantener compatibilidad con versiones anteriores: {$IFDEF VER130} // Delphi 5 requires Vcl50, Vcldb50; {$ENDIF} {$IFDEF VER330} // Delphi 10.3 requires rtl, vcl, vcldb; {$ENDIF} BUENAS PRÁCTICAS PARA MIGRACIÓN DELPHI 5 A 10.3: 1. CODIFICACIÓN DE CARACTERES: - Delphi 2009+ usa Unicode (UTF-16). Strings ahora son UnicodeString - Char es WideChar (2 bytes) - Para strings de 1 byte usa AnsiString explícitamente - Revisa funciones que trabajan con PChar, especialmente en APIs 2. PUNTEROS Y TIPOS: - Integer cambió a Int32 internamente - NativeInt para punteros que deben ser compatibles con 32/64 bits - Cardinal para valores sin signo 3. MANEJO DE APIS: - Muchas APIs de Windows ahora tienen versiones A (Ansi) y W (Wide) - Delphi moderno llama automáticamente a versiones W - Si usas declaraciones manuales, actualiza a versiones Wide 4. BASE DE DATOS: - Si usas BDE, migra a FireDAC, ADO, o dbExpress - FireDAC es el recomendado para nuevos desarrollos - Soporta múltiples bases de datos con una sola interfaz 5. COMPONENTES VISUALES: - Algunos componentes cambiaron propiedades - Revisa eventos OnCreate y OnDestroy por cambios en orden de ejecución - VCL Styles reemplazan el antiguo theming 6. GESTIÓN DE MEMORIA: - ARC (Automatic Reference Counting) para plataformas móviles - En Windows sigue siendo reference counting manual - Cuidado con interfaces que ahora tienen gestión automática 7. TESTING: - Prueba exhaustivamente funciones que usan PChar y conversiones de string - Valida entrada/salida de archivos (codificación UTF-8 vs ANSI) - Revisa cálculos que dependen del tamaño de Char RECOMENDACIONES FINALES: - No intentes compilar directamente el proyecto de Delphi 5 en 10.3 - Haz migración gradual: primero los paquetes, luego las unidades - Mantén un backup del código original - Usa control de versiones (Git) para poder revertir cambios - Considera refactorizar código obsoleto en lugar de solo migrarlo - Documenta los cambios realizados para futuras referencias Para tu caso específico con VLC50, la línea correcta en Delphi 10.3 sería simplemente "vcl" sin números. Verifica también que todos los componentes de terceros tengan versiones compatibles con 10.3 antes de continuar. |
| La franja horaria es GMT +2. Ahora son las 13:26:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi