elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?  (Leído 3,875 veces)
agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
[Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« en: 8 Diciembre 2010, 06:07 am »

Hola Foro Buenas noches xD

Mi duda es esta seria interesante saber si se puede "Saber" desde que Form Se llama a la función de un Modulo, Seria para ahorrarse el simple paso de pasar la Variable fFrm as Form en una función

La cosa seria asi


en un modulo yo necesito el hWnd del Form a la que llamo la función entonces por lo general lo que se hace es

Código:
Public Function Funcion(fFrm as Form) as Integer
Dim C as Integer   
     C = fFrm.hWnd

y asi llevamos el hWnd del Form Al Modulo

Bueno no hay una manera de Pasar el hWnd de la función al Modulo sin hacerlo Por las Variables de La función


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.148


I'Love...!¡.


Ver Perfil WWW
Re: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« Respuesta #1 en: 8 Diciembre 2010, 06:49 am »

.
Un handle es de 4 bytes en vb6, por lo tanto debes usar long en lugar de integer, ahora en lugar de pasar como parametro una variable objeto tipo form por que no mejor pasas un long, que sea el hWnd o mejor aun una varaible publica donde almacenes el handle deseado.

Por mi parte usaria en este tipo de casos un modulo de clase por su uso de propiedades seria lo ideal, asi solo estableserias una sola vez el handle y ya todos los procesos y funciones trabajarian en base a este, esto esa lo bueno, lo malo seria la parte de la memoria, ya que al ser clases se cargaria una copia de TODA funcion existentente en ella, mientras que en un modulo normal solo se duplicaria dicha funcion, aun que este efecto seria lo mismo en el modulo de clase si se llama mas veces...

 * En pocas palabras no creo que se pueda, y si se puede lo ignoro, pero seria mucho mejor con una variable en un modulo o una propiedad en un modulo de clase, igual hay mas criterios y opiniones...

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« Respuesta #2 en: 8 Diciembre 2010, 11:41 am »

Eso pensé yo Black! ;)
Con una clase te ahorras ingresar el hWnd varias veces, pero yo solo lo veo rentable si hay varias funciones que lo van a utilizar. :rolleyes:
Si no haría algo parecido a como haces agus0 :
Código
  1. Public Function Funcion(ByVal lHandle As Long) as Long

Así evitamos esto :
Código
  1. Dim C as Integer 'As Long  
  2.     C = fFrm.hWnd

Y lo llamaríamos así :
Código
  1. Debug.Print Funcion(Me.hWnd)

DoEvents! :P
« Última modificación: 8 Diciembre 2010, 11:47 am por Mr. Frog © » En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« Respuesta #3 en: 8 Diciembre 2010, 11:46 am »

   Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Mirando el stack, se puede encontrar la direccion de retorno y "posiblemnete" ver desde donde se llamo pero no estoy seguro, en el caso de que se pueda, desde y ate digo que no tiene sentido en lo mas minimo devido al trabajo que involucraria comparado con simplemente pasar un paramtro.

Como decia BlackZeroX, yo usaria una variable para almacenar el handle o de ser necesario un objeto para el form y listo, no vale la pena hacer otra cosa.
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« Respuesta #4 en: 8 Diciembre 2010, 12:06 pm »

Gracias a TODOS, Nos es que lo quiera hacer, Imagine que si se podía seria mucho mas difícil, si no nadie Pasaría los Handles a Traves de una variable :P. Solo quería saber si se Puede hacer eso o no....

Con Respecto al Tamaño de la Variable, Tenes Razón Tendría que usar "Long" pero Cree un Ejemplo Rápido a las 2:30 AM y ni me fijé, Podría a ver puesto "Date" :P
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« Respuesta #5 en: 8 Diciembre 2010, 12:21 pm »

Solo uma simple acotación para tener en cuenta, obviamente que el Hwmd de un Form cambia ca da vez que este se descarga (unload) o se cierra, digo esto para tener en cuenta al almacenar el o los  Hwnds  (y luego dichos Formularios deban cerrarse o descargarse en algun momento )
 












« Última modificación: 8 Diciembre 2010, 13:10 pm por Dessa » En línea

Adrian Desanti
Hans el Topo


Desconectado Desconectado

Mensajes: 1.752


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: [Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
« Respuesta #6 en: 8 Diciembre 2010, 12:35 pm »

tal vez te sirva de ayuda => http://msdn.microsoft.com/es-es/library/dy2xdatz%28VS.80%29.aspx
En línea

 
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines