Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2021
strelok strelok is offline
Miembro
 
Registrado: sep 2017
Posts: 181
Poder: 9
strelok Va por buen camino
¿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
  Vcl50,
  Vcldb50,
  Vclbde50,
  A402_R50,
  VCLIB50,
  RxCtl5,
  NMFast50;

contains
...
..
Si cambias "Vlc50" por "Vlc260" o "Vlc260.bpl" no funciona. He comprobado que el fichero esté en el directorio de instalación de delphi 10.3 y efectivamente está en C:\Program Files (x86)\Embarcadero\Studio\20.0\bin
__________________
Sean los orientales tan ilustrados como valientes.
Responder Con Cita
  #2  
Antiguo 27-10-2025
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
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.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
IBDatabase no reconoce .fdb (firebird)."unavailable database" sakuragi Conexión con bases de datos 27 30-08-2013 23:13:04
Rutas de búsqueda de "include" y "require". Ñuño Martínez PHP 2 11-06-2008 17:29:15
Consulta no reconoce "." MaMu MySQL 3 25-11-2007 19:51:31
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16
No me reconoce la tilde ni la "ñ" Brando Linux 0 27-09-2004 18:59:14


La franja horaria es GMT +2. Ahora son las 16:39:59.


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
Copyright 1996-2007 Club Delphi