Page 1 of 1

Cómo llamar una función incluida en un oFld en otro prg

Posted: Wed Nov 11, 2020 9:52 pm
by Ramón J.
Hola a todos

Verés, estoy haciendo un programa con varios oFld y se está extendiendo demasiado en el mismo prg, por lo que gustaría saber cómo separar las funciones incluidas en un oFld en otros prgs.

Por ejemplo:

@ 190, 25 BUTTON "Editar " OF oFld:aDialogs[ 2 ] SIZE 40,20 PIXEL ACTION editsoc(cnum, cdenom, nptasti, neuti, nRecnoSoc, obrwsoc)

Dado que tengo muchos folders que a su vez tienen muchas funciones, me gustaría crear un prg por folder, pero no sé cómo hacerlo.

De la misma manera que sin folders llamaría a la función en otro prg de la siguiente manera

#include "FiveWin.Ch"c
#include "ord.ch"
#include "xbrowse.ch"

function editsoc(cnum, cdenom, nptasti, neuti, nRecnoSoc, obrwsoc,odlg)

¿En el supuesto de una función incluida en un oFld cómo se haría?
Gracias

Re: Cómo llamar una función incluida en un oFld en otro prg

Posted: Wed Nov 11, 2020 10:02 pm
by Ramón J.
Se me olvidaba decir que en cada folder uso una base de datos diferente, eso relacionadas entre sí con SET RELATION.

Por ejemplo: oFld:aDialogs[ 1 ] los datos de la empresa: en oFld:aDialogs[ 2 ] los de los trabajadores; en oFld3:aDialogs [ 3} datos de contacto.

Un saludo

Re: Cómo llamar una función incluida en un oFld en otro prg

Posted: Sat Nov 14, 2020 2:00 pm
by Ramón J.
Hola
Igual no me explicado bien.
Se trata de un oDlg con cuatro oFld. Cada oFld muestra la informaciôn de una base de datos diferente pero relacionadas con las demás bases de datos.
Ejemplo:
oFld:aDialogs[1]-> dbf de empresas
oFld:aDialogs[2]-> dbf de trabajadores
oFld:aDialogs[3]-> dbf de integrantes del consejo rector
oFld:aDialogs[4]-> dbf de información de contacto

Las 4 bases de datos están relacionadas entre sí.
Hasta ahora el programa estâ casi todo en un fichero prg y conforme voy ampliando se va haciendo más engorroso.

De ahî la pregunta de si hay alguna forma de que cada oFld esté en un prg diferente y sin que se rompa la relación de las dbfs.

Un saludo

Re: Cómo llamar una función incluida en un oFld en otro prg

Posted: Sun Nov 15, 2020 11:08 am
by JESUS MARIN
Buenos dias

Como veo que nadie te contesta.....

Las funciones pueden estar en .prg diferentes.

Simplemente escribe la función de esta manera

FUNCTION MiFuncion( parametros)

RETURN( resultado )

no pongas STATIC delante, solo sería accesible en el .prg donde esta escrito.

Es muy importante que la funcion reciba los parametros necesarios y devuelva la información requerida a la función que le llama.

Espero que te ayude.

Yo lo utilizo por ejemplo en el módulo de pedidos. Si los artículos tienen tallas (por ejemplo camisas), todas las funciones referentes al manejo de tallas están en otro prg.

Ya nos contarás

Jesús Marín

Re: Cómo llamar una función incluida en un oFld en otro prg

Posted: Sun Nov 22, 2020 4:32 pm
by Ramón J.
Gracias, Jesús. He pasado por aquî por curiosidad y he visto tu respuesta. Dado que apremiaba el tema y no veîa respuesta (pero visitas muchas) he optado por dejarlo como estaba y he renunciado a la opción que planteaba en la consulta.

En fîn, qué le voy a hacer, es lo que hay.

De todas formas, gracias por haberte tomado la molestia de contestar.