Otros temas que te pueden interesar
|
||||
| Tema | Autor | Foro | Respuestas | Último post |
| Gracias Por Permitirme pertenecer a este Foro | Roberto | Presentación | 2 | 19 de agosto de 2023 21:55 |
| [Sintaxis] CALL en OPENCOBOLIDE 4.7.6 da error (no encuentra) | etilico2022 | IDE-s para GnuCOBOL | 17 | 31 de julio de 2023 20:53 |
| [Sintaxis] CALL a programas externos en Windows 8 | Gusaiello | AcuCobol | 9 | 15 de marzo de 2023 20:23 |
| [Duda] ¿una ayudita para este novato en programacion? | /D/ | COBOL - General | 11 | 29 de septiembre de 2020 23:26 |
| [Sintaxis] Error en programa: Illegal function call | Begoguay | PowerCOBOL (ActiveX, v4 - v11) | 3 | 11 de julio de 2018 19:41 |
![]() |
|
El Foro es mi casa
![]()
|
¿Esto es posible?
Botón en una "form" llamada y poner fin a la "form" actual. "Form1" ---> "Botón1 ---> Call "Form2" y cierra "Form1". (Código sobre el botón 1) Gracias, Jose |
||||||||
|
|
|
|
Administrador
![]()
|
Joseg, esto es un caso que se puede lograr a hacer, pero normalmente se puede evitar. ¿Para qué lo necesitas?
En realidad, aquí de lo que se trata es la dependencia de Forms y Procesos. Se puede hacer, por ejemplo, si Form1 y Form2 están en diferentes EXE-s. No se puede hacer si los Forms están en DLL. EN todo caso se necesita un Main Module para abrir un Form. Además, en PowerCOBOL no estamos en creación de GUI-s nativas, con lo cual no tenemos mucho control sobre el asunto. Yo lo necesité una vez, porque mi aplicación comprobaba si había una versión nueva, y si le dabas a "Actualizar", se cerraba, lanzaba el "intall.exe" nuevo que se ha descargado, y luego se volvía a ejecutar el Main.exe (pero tendré que mirar cómo lo hice, no me acuerdo) :rie: NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
![]() Las "forms" están en la misma DLL. Básicamente quería que el "Form2" llamada "Form1", pero esto no es posible ya está abierto. Formulario1 "open" Formulario2, que realiza ciertas tareas que deriam se reflejan automáticamente en Formulario1. |
|||||||||
|
|
|
|
Administrador
![]()
|
Joseg, lo que puedes hacer es pasar el Form1 (que es el que necesitas varias veces) a una DLL nueva y fijar el código en OO COBOL. Hay que copiar y pegar código en los eventos porque (!!!) al cambiar de COBOL85 a OO COBOL se borra todo el código en los eventos, pero bueno no es un problema. Teniendo copia de ese Form en el proyecto, simplemente haces Copiar/Pegar en cada evento.
De esta manera, cada vez que invoques ese Form1 se creará una copia nueva (obvio, estando en modo OO). Yo tengo hecho esto para un proyecto donde creé mi propio MessageBox. ---------- Post añadido : 15:28 ---------- Post anterior : 15:08 ----------
En el Form1 defines unos campos como EXTERNAL, Y pones un TIMER. A la hora de llamar el Form 2 lo haces con OpenForm (para continuar ejecutando el Timer) y con Cookie (para saber cuando se ha cerrado el Form2 en el evento "CloseChild" del Form1). El código más o menos sería algo así: Form1->Button1Click: Código COBOL:
Form1->Timer Código COBOL:
Form1->CloseChild: Código COBOL:
Form2->OnChange (o cualquier evento) Código COBOL:
NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
|||||||||
|
|
|
|
Administrador
![]()
|
Joseg, lo he comprobado. Con el
Código COBOL:
No se cierra el programa llamado. O sea que se puede hacer si los dos Forms son EXE, pero esto en este caso no sirve. Así que habrá que intentar hacerlo como lo he dicho antes, con el Timer. NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Guru de COBOL
![]()
|
NO me he metido con el tema de OOCobol mucho y seguramente se le puede dar mucho uso.
Yo también tengo personalizado el DisplayMessage con un form, pero para evitar que se abra mas de una vez, simplemente lo invoco con CALLFORM2 ya que entiendo que siendo una ventana de pregunta y respuesta rápida, no debe el usuario estar en otro sitio.En cuanto al tema de la discusión, me he perdido un poco, quizás entendiéndolo mejor os pueda ayudar. |
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
Mi experiencia en OOCOBOL no es mucho, pero lo intentaré.
Muchas gracias
|
|||||||||
|
|
|
|
Administrador
![]()
|
Joseg, en realidad cara al modo de programación para ti no cambia casi nada, es más que nada el código generado por detrás el que cambia. Hay algunas cosas como que por ejemplo en la WORKING del Form ya no hay que poner GLOBAL, ya de por sí las variables son globales y alguna que otra cosa más pero vamos, nada importante. Puedes copiar y pegar código de los eventos del antiguo Form (COBOL85) al nuevo (OO COBOL) y lo más seguro es que se compile sin problemas o sólo tengas que modificar un par de tonterías.
NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Administrador
![]()
|
Nitzer, se me había escapado tu post
![]() Para mi, la mayor ventaja del modo OO COBOL en PowerCOBOL es que puedes tener nuevas copias de tus Forms (nuevas instancias). También, si necesitas intercambiar datos por ejemplo con Java o necesitas una tabla interna dinámica (UNBOUNDED) también se puede hacer, aunque esto yo nunca lo he necesitado. Yo lo necesité porque creé una aplicación simulando MDI, o sea que tenía una ventana principal y varias ventanas (aplicaciones) dentro de esta. Se podía trabajar con varias aplicaciones (pestañas) al mismo tiempo, por eso necesitaba que se pudiera tener varios MessageBox a la vez. NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
![]() |
| Herramientas | |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||