[ Foro de Pascal ]

Units

05-Apr-2010 04:09
Patricia Rodriguez
4 Respuestas

Hola.
Estoy tratando de poner en práctica los ejemplos de Units q están en este curso.
Los copié, pero cuando compilo el TurboPascal 7.0 no produce un TPU. Obté por guardar con el mismo nombre pero cambiando la extensión .PAS por .TPU, pero al compilar el programa principal que llama la unit da el siguiente mensaje de error:
Error 72: Unit file format error (nombre.tpu)
¿que hago para crear la TPU?? o es otro error?


05-Apr-2010 13:08
Antonio P.G.

Hola Patricia.

No estoy seguro, pero probablemente tu error esté en el nombre del archivo. Me explico:

Los 8 primeros caracteres del nombre que va después de la palabra reservada "Unit" han de ser iguales a los del nombre del archivo. Ejemplo:

Nombre del archivo:   UNIDADPR.PAS

(Ahora, dentro del archivo:)

Unit UNIDADPRUEBA;

Interface
(...)
Implementation
(...)
end.


Espero haber sido de ayuda.
Ciao!


05-Apr-2010 16:01
Patricia Rodriguez

En este caso coloqué un nombre de 6 caracteres (letras).

Gracias de todos modos.


07-Apr-2010 00:36
Nacho Cabanes (+31)

Patricia, lo ideal sería que pusieras el fuente, para que podamos ver el problema. Aun así, tres pinceladas por si te ayudan:

- El nombre del fuente siempre debe terminar en .PAS, porque el fichero .TPU es un resultado, no algo que creas tú directamente.

- No tiene mucho sentido tratar de compilar una Unit por sí misma. Lo razonable es crear un programa que la use.

- Algunas versiones de Turbo Pascal no crean un ejecutable en disco (EXE) si no lo pides expresamente, sino que compilan a memoria y lanzan el programa desde memoria, para que se más rápido hacer pruebas. Puede que tu Unit esté perfecta, no provoque ningún error, pero no se genere un fichero .TPU simplemente porque tengas activada la opción de compilar en memoria, en vez de compilar a disco (y juraría que ese es el valor habitual si usas el compilador TURBO.EXE de Turbo Pascal 6 y Turbo Pascal 7, aunque quizá no con el TPX.EXE de Turbo Pascal 7).


07-Apr-2010 03:12
Patricia Rodriguez

Resuelto el problema.
Estaba compilando en memory y no en disk.
Gracias por su colaboración.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)