Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Error MOVE "Parent" de un nodo "Root" en TreeView dmosca PowerCOBOL (ActiveX, v4 - v11) 1 23 de agosto de 2017 08:47
[Duda] Error "impresora en uso" al cambiar de Form dmosca PowerFORM 2 20 de abril de 2017 16:44
[Sintaxis] Cambiar variable de entorno "Path" en ejecución Recato53 PowerCOBOL (ActiveX, v4 - v11) 7 10 de agosto de 2015 14:25
[Duda] Evento "Resized" del Form (Sheet) Kuk PowerCOBOL v3 (V3L10, Win32) 4 27 de julio de 2015 17:09
[Sintaxis] Propiedad "Bring to front" Roger PowerCOBOL (ActiveX, v4 - v11) 1 21 de marzo de 2015 22:20

Respuesta

  #1
Antiguo 18 de julio de 2016, 17:29
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243
GUI Obtener la propiedad "Name" del Form en ejecución
0 Inactivo Inactivo

Hola Amigos:

La propiedad "Name" de un form solamente se puede usar en diseño, cómo puedo saber cuál es el nombre de un form en tiempo de ejecución?

Saludos.

Fito...
Fito is offline   Responder Con Cita
  #2
Antiguo 18 de julio de 2016, 17:49
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Fito, por PowerCOBOL no se puede, debes saber el nombre. Se puede seguramente hacer por WinAPI, pero cargando la DLL para obtener todas las funciones que exporta.

Toda DLL compilada en PowerCOBOL contiene unas funciones que corresponden a funciones ActiveX estandar (diría yo), + las rutinas globales COBOL que hayas incluido en el proyecto + funciones que corresponden con los nombres de los Form.

Las funciones ActiveX que están presentes en todas las DLL de PowerCOBOL son:
  1. DllCanUnloadNow
  2. CfDllGetClassObjectByName
  3. DllGetClassObject
  4. DllRegisterServer
  5. DllUnregisterServer

El resto serían funciones con el mismo nombre que el Form + las globales. El caso es que aún así hay que conocer las reglas del nombramiento de esa DLL.


Por cierto, para qué lo necesitas???



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
Kuk is offline   Responder Con Cita
  #3
Antiguo 18 de julio de 2016, 22:53
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola KUK:

Lo necesito para poder hacer un sistema de permisos, para poder decirle a cada usuario en cuál form puede entrar o no.
Ahora estoy usando una variable y le muevo yo el nombre, pero quería hacer algo más general.
También podría usar el "Caption" del form, pero me parecía más correcto hacerlo con el name, porque me aseguraría de que no se repitiera.

Saludos.

Fito...
Fito is offline   Responder Con Cita
  #4
Antiguo 19 de julio de 2016, 00:06
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Fito, yo creo que te estás complicando la vida. Se puede hacer de manera más fácil, con variables globales. Si un usuario no tiene permiso de abrir un Form, prohibirlo desde el Form llamante y ni siquiera abrir Form hijo.

Quiero decir, ya sabes qué Forms tienes, ¿por qué buscar los nombres en dinámico? Yo pensaba que no sabías qué Forms tendrías o algo así... :confused:



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
Kuk is offline   Responder Con Cita
  #5
Antiguo 19 de julio de 2016, 00:47
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Fito,

Poderias usar a "Description" da Form. A "description" não é a "Caption".
Ou o "ProgId". Terias que retificar o ProgID na tab OLE da Form.

Em cada Form garante no "Open" da Form que o nome é igual ao da Form com:

Código COBOL:
  1.     move "FrmMain" to "Description"   OF POW-SELF.

No teste se pode ou não usar:

Código COBOL:
  1. IF "Description"   OF POW-SELF = "FrmMain"
  2.       DISPLAY "NÃO PODE USAR ESTA FORM"

A "Description" está na tab "OLE" das propriedades da Form.

Não sei se isto te poderá ajudar.

Un saludo,
Rui Pinto
Rapinto is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:40.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.