Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con clausula uses [ e in ] (https://www.clubdelphi.com/foros/showthread.php?t=96618)

Ñuño Martínez 26-02-2024 11:54:43

Problemas con clausula uses [ e in ]
 
Hola gente.

Delphi (Community Edition) me está dando quebraderos de cabeza a raíz de la cláusula uses. A ver si me explico bien y no me lío, porque es un caso muy especial (la biblioteca Allegro.pas).

Todo empezó porque, aunque en las opciones de proyecto pongo la ruta de la biblioteca (en este caso, "../../lib") en Search path, el IDE no es capaz de encontrar las unidades (el compilador, parece que sí aunque a veces no pero tengo que hacer más pruebas) así que me muestra un montón de errores que no deberían estar.

Para evitarlo puse "in" para que supiera dónde encontrar las unidades. Por ejemplo:

Código Delphi [-]
  uses
    allegro5   in '../lib/allegro5.pas',
    al5image   in '../lib/al5image.pas',
    al5strings in '../lib/al5strings.pas';

La cuestión es que, desde ese momento, algunos programas no los compila. Parece como si el compilador haya dejado de detectar cualquier unidad que no esté tenga "in" aunque se encuentre en el directorio. Y además, si alguna unidad es usada por más unidades, y estas tienen también "in", entonces se queja porque debería haber un punto y coma en vez del "in" (o sea, que en un proyecto sólo puede haber un "in" por unidad usada).

No sé si me he explicado, pero es un dolor. Estoy por quitar todos los "in" porque parece que sí compilan, pero claro, la gente cuando abra los proyectos con Delphi y vea esos falsos errores pues no sé qué van a pensar... :o

¿Alguna solución?

Casimiro Notevi 27-02-2024 12:36:24

Ni idea :confused:

mamcx 27-02-2024 15:32:41

Vagamente recuerdo que alguna vez me paso algo similar, y era porque las rutas que tenia configuradas hacia conflicto, o por usar `../...` no apuntaban a donde creían.

Ñuño Martínez 01-03-2024 10:25:08

Pues vaya. :(

En fin, dejo esto aquí por si a alguien se le ocurre alguna idea.

duilioisola 07-03-2024 15:18:33

No se si has hecho copia+pega o lo has vuelto a escribir, pero...

¿No deberías utilizar la contrabarra "\" para indicar directorios?
Código Delphi [-]
uses
    allegro5   in '..\lib\allegro5.pas',
    al5image   in '..\lib\al5image.pas',
    al5strings in '..\lib\al5strings.pas';

Ñuño Martínez 08-03-2024 18:40:03

Pues creo que, dado que Delphi también es capaz de generar ejecutables para Linux, debería funcionar con ambos de barra, pero probaré igualmente.


La franja horaria es GMT +2. Ahora son las 19:45:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi