Pascal/Turbo Pascal - Ayuda conel mensaje de error 68 en tiempo de compi

   
Vista:

Ayuda conel mensaje de error 68 en tiempo de compi

Publicado por Jorge Martinez (1 intervención) el 20/07/2009 19:45:37
Buenas Tardes:

Solo quiero solicitar su ayuda, tengo un programa que quiero convertir en TPU, pero al compilarlo, me manda el siguiente mensaje:

ERROR 68: CIRCULAR UNIT REFERENCE (VUTILS).

Cómo puedo solucionar este error?

Cabe mencionar que tengo en la programación las siguientes unidades:
VUTILS.PAS : CRT, DOS, VGLOBALS, VINPFIEL, VENTANAS
VINPFIEL.PAS: VUTILS

Ojala y me puedan apoyar para solucionar dicho error.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda conel mensaje de error 68 en tiempo de co

Publicado por Diego Romero (997 intervenciones) el 20/07/2009 21:40:47
Pues eso, que tienes una referencia circular entre dos units. Es decir A necesita de B y B necesita de A. No puedes hacer eso, porque el compilador compila las Units de acuerdo al orden en que aparecen en la declaración Uses del código fuente .pas principal.

En tu caso el compilador empieza con VUTILS.PAS y encuentra en su cláusula Uses una serie de units que procede a compilar, pero cuando encuentra VINPFIEL.PAS ve que en su cláusula Uses está VUTILS.PAS el cual es el fuente que está compilando en ese momento. Si el compilador siguiera entraría en un ciclo infinito.

La solución tendrás que planteártela tú mismo para resolver esto. Si en VINPFIEL.PAS necesitas alguna función, procedimiento o tipo que está en VUTILS.PAS y en VUTILS.PAS necesitas alguna función, procedimiento o tipo que está en VINPFIEL.PAS, yo te recomendaría que tomes esas funciones, procedimientos y tipos y las pongas en un tercer fuente que es el que usarás en la cláusula Uses de VUTILS.PAS y VINPFIEL.PAS.

Pero, en el fondo este problema se debe a un mal análisis previo de tu sistema. Tendrías que empezar por ahí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda conel mensaje de error 68 en tiempo de co

Publicado por juan (44 intervenciones) el 21/07/2009 01:35:42
la verdad nose que es una TPU y para que se convierte ?? lamento no poder ayudarte y desconocer eso. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda conel mensaje de error 68 en tiempo de co

Publicado por Miguel (162 intervenciones) el 21/07/2009 04:24:33
TPU creo que son las siglas de Turbo Pascal Unit, pero es eso, tipos abstractos de datos o unidades como te guste. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda conel mensaje de error 68 en tiempo de co

Publicado por juan (44 intervenciones) el 21/07/2009 08:09:58
ahh , no sabia su abreviacion , bueno , tiene razón diego pero eso es dependiendo el compilador. dev te deja arrancarlo de cualquier libreria o unit no importa la dorma que la pongas siempre y cuando lo pongas .tanto las librerias , tad o unit , u objetos , saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda conel mensaje de error 68 en tiempo de co

Publicado por Diego Romero (997 intervenciones) el 22/07/2009 03:22:01
Turbo Pascal también, pero ese no es el problema, aunque cargues para compilar una Unit, si esa llama a otra en su cláusula Uses y la otra a la primera, seguirás teniendo una referencia circular
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda conel mensaje de error 68 en tiempo de co

Publicado por juan (44 intervenciones) el 25/07/2009 04:35:56
sisi , se entiende , pero yo use unit de unit invocando a las mismas unit de diferente forma en el programa principal y no tuve problema. Habria que verlo Eso ... Porque hasta hice con diferentes estucturas , intercalando lo procedural con lo objeto y me lo tomo tranquilamente. Que intenta cambiar el compilador o agarrarlo de diferente manera el problema como dice Diego. A mi por suerte de todos los programas q hice nunca me salto eso. Si hacer 5 o 6 unit y tener q salir del programa principal y volver a entrar al actualizar una unit. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar