Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   ¿Como puedo llamar un Procedure desde otra unit? (https://www.clubdelphi.com/foros/showthread.php?t=10315)

athal 15-05-2004 20:25:25

¿Como puedo llamar un Procedure desde otra unit?
 
Tengo un aplicacion con tres forms, cada uno tiene sus propios procedimientos , pero me gustaria llamar un procedimento declarado en la Unit1.pas desde la Unit2.pas para no duplicar codigo. HE intentado declararlo como publico en la unit1.pas pero no se hacerlo bien y no me funciona.

Agradezco sugerencias !!!

delphi.com.ar 15-05-2004 20:51:06

Solo tendrías que usar la unit (Alt+F11 o escribiéndola en el uses), y todas las funciones que esten declaradas en la interface se verán desde la otra unit.

Saludos!

jachguate 16-05-2004 04:06:18

Cita:

Empezado por athal
pero no se hacerlo bien y no me funciona.

Que significa esto exactamente??? que no compila? cual es el mensaje de error?

athal 16-05-2004 20:27:04

Sigue sin funcionar
 
O sea mi problema exactamente es :

Tengo el procedure buscar_Archivo(encontrado) en la unit1 y quiero llamarla desde la Unit2 .

He añadido Uses Unit1 a la Unit2 pero todavia asin sigue sin encontrarme la función.

He probado añadiendo la declaración en "PUBILC" de la unit1 pero tampoco.

ME FALTA UN DETALLE Y NO SE CUAL ?

kinobi 16-05-2004 22:01:54

Cita:

Empezado por athal
ME FALTA UN DETALLE Y NO SE CUAL ?

Sí, te falta un detalle ...

Cita:

Empezado por jachguate
... cual es el mensaje de error?

Saludos.

athal 16-05-2004 22:29:11

el error es el siguiente
 
Error Unit3.pas(32): Unsatisfied forward or external declaration:'Tform3.Buscar_archivo'

y que falta ???

delphi.com.ar 16-05-2004 22:38:41

Cita:

Empezado por athal
He probado añadiendo la declaración en "PUBILC" de la unit1 pero tampoco.

Yo te diría que no se trata de probar sinó de leer un poco, te recomiendo este hilo: http://www.clubdelphi.com/foros/showthread.php?t=10278

Saludos!

athal 16-05-2004 23:02:54

despues de la lectura ...
 
He leido atentamente ese hilo, y la base teorica muy buena pero no me ha resuelto el problema ( sera que soy un poco tontito ) alguien puede ilustrarme con un ejemplo
:-)

Gracias !!

eduarcol 16-05-2004 23:15:36

eso es que en form3 lo tienes declarado pero no tienes el cuerpo del procedimiento, eb form3 no lo debes declarar solo utilizarlo

athal 16-05-2004 23:39:32

gracias por la ayuda pero necesito mas !!
 
Si hago lo que me dices contesta :

"Undeclared Itinfier Buscar_archivo "

y me quedo igual.

GRacias de todos modos !!!

delphi.com.ar 17-05-2004 00:55:46

Una unit en delphi esta dividida principalmente en dos secciones interface e implementation, digo principalmente porque también pueden aparecer explícitamente las secciones initialization y finalization.
En la sección interface se declaran las constantes, tipos, variables, procedimientos y funciones que serán vistas desde otras units. No se puede poner código en esta sección, solo declaraciones.
En la sección implementation se implementan todos los procedimientos y funciones definidos en interface, también se pueden definir constantes, tipos, variables, procedimientos y funciones que solo serán vistos en la implementación de esta unit.

Cuando creas un nuevo formulario, el IDE de Delphi ya te crea una clase del tipo TForm , las partes private, public y protected que aparecen en la unit, pertenecen a la definición de esta clase, todos los procedimientos o funciones que definas en esa parte, serán métodos del formulario. (http://www.clubdelphi.com/foros/showthread.php?t=10278)

Saludos!

athal 17-05-2004 01:05:20

Por fin!!
 
Por fin te entendi, funciona perfectament!

Gracias por sacarme de este oscuro pozo !


La franja horaria es GMT +2. Ahora son las 07:51:26.

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