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

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

Postby Ramón J. » Wed Nov 11, 2020 9:52 pm

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
FWH 20.12 BCC7
Ramón J.
 
Posts: 152
Joined: Mon Feb 13, 2006 8:23 pm

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

Postby Ramón J. » Wed Nov 11, 2020 10:02 pm

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
FWH 20.12 BCC7
Ramón J.
 
Posts: 152
Joined: Mon Feb 13, 2006 8:23 pm

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

Postby Ramón J. » Sat Nov 14, 2020 2:00 pm

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
FWH 20.12 BCC7
Ramón J.
 
Posts: 152
Joined: Mon Feb 13, 2006 8:23 pm

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

Postby JESUS MARIN » Sun Nov 15, 2020 11:08 am

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
Jesús Marín
JESUS MARIN
 
Posts: 176
Joined: Wed Jan 02, 2019 8:36 am

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

Postby Ramón J. » Sun Nov 22, 2020 4:32 pm

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.
FWH 20.12 BCC7
Ramón J.
 
Posts: 152
Joined: Mon Feb 13, 2006 8:23 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 47 guests