Foros del Web » Programando para Internet » ASP Clásico »

Clases como triángulo de las Bermudas

Estas en el tema de Clases como triángulo de las Bermudas en el foro de ASP Clásico en Foros del Web. No salgo de mi asombro...alguien tiene alguna explicación? Resulta que estoy generando un sistema de pagos, y bueno...entre otras cosas tengo que enviar un requestID, ...
  #1 (permalink)  
Antiguo 20/05/2005, 11:40
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Clases como triángulo de las Bermudas

No salgo de mi asombro...alguien tiene alguna explicación?
Resulta que estoy generando un sistema de pagos, y bueno...entre otras cosas tengo que enviar un requestID, pensé en hacerlo mediante la fecha y la propiedad sessionID, hasta ahí todo bien, pero cuando trato de asignar el valor de este miembro desde adentro de la clase....me manda como fecha 12/30/1899, si lo asigno desde afuera, está todo bien, obviamente lo resolví asignando este valor desde afuera, pero no encuentro la explicación, a alguien le ha pasado esto??

Les dejo el fragmento de la clase

Código:
Class Epayment
'Private members
            Private m_RequestID

	Public Property Get RequestID()
		RequestID = m_RequestID
	End Property
	Public Property Let RequestID(p_data)
		m_RequestID = p_data
	End Property

	Public Function CallPaymentSystem()
		Dim PostData
		Dim ObjXML
		Dim ObjXSL
		Dim xmlFileName
		Dim boolProceed
                          
                         m_RequestID = cstr(month(date) & day(date) & year(date) & replace(replace(time(), ":", "")," ","") & session.sessionID)
            End Function            
End Class
Si desde afuera asigno a la propiedad RequestID el mismo valor, lo hace correctamente.

Dato curioso! salu!!!!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #2 (permalink)  
Antiguo 20/05/2005, 12:29
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues más raro.. .....por que implementé tu clase y el objeto me regresa valores correctos tanto inicializandola del el método o por medio de la propiedad .

Se me hace que este es otro de tus post para acumular msgs

o quizá no entendí el caso para los expedientes X

Salu2
  #3 (permalink)  
Antiguo 20/05/2005, 12:33
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No, en esta ocasión no fue así...de verdad que cuando llamo al miembro privado de la clase dentro del método, me regresa un valor incorrecto! y sigue así...no lo entiendo

Salú!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 20/05/2005, 13:53
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Humm

Ese es todo el codigo? no hay mas ahi entre, o estas mandando llamar a un objeto (DLL) de fuera, porque a mi me parece un error de fechas, como cuando tienes en tu servidor de DB y WEB diferentes fechas.

Y si a unos les funciona y a otros no, es que en algun punto tienes diferentes fechas en tus servidores, es lo que se me ocurre.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #5 (permalink)  
Antiguo 20/05/2005, 14:03
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Si, obviamente hay más código que ese, pero no lo pego todo, pues no tiene caso, el fragmento de la clase que hace la llamada es ese, y fuera de ella, nada más es una línea que asigna el valor a esa propiedad, solamente traté de asignar valor a esa propiedad dentro o fuera de la clase y arrojó el bug ya mecionado, hay dos llamadas más a objetos de ASP(FSO y XMLDOM) dentro de la clase, pero primero hace la asignación, aún no he encontrado el problema...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 20/05/2005, 14:11
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Por que no pruebas haciendo un DATE normal adentro para ver que fecha te esta imprimiento, y un date afuera para verificar que son iguales,

Por cierto, no tienes 2 servidores trabajando, o esta clase en un servidor y y la llamas desde otro?

Siempre te pone la misma fecha ?
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #7 (permalink)  
Antiguo 20/05/2005, 14:21
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Eso mismo hice, el resultado es el mismo, dentro del triángulo de las Bermudas, el date = 12/30/1899, afuera = 05/20/2005 ...scary isn't it?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 20/05/2005, 15:42
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
humm..

Si esta muy raro... escribe un Now(), para ver tambien el tiempo, y verificar que el tiempo esta avanzando, debe ser que en algun punto tienes fechas diferentes, verifica que tiempos te esta escribiendo, si del servidor, si el del cliente, si el de la base de datos, etc.

Sera interesante dar con el error
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #9 (permalink)  
Antiguo 23/05/2005, 12:47
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Pues a mi me funciona bien..........dentro o fuera de la clase........lo que significa que el problema no es del código ni del manejo de la clase, sino alguna cuestión de configuración de fecha en el servisdor, ¿no cree master?
  #10 (permalink)  
Antiguo 23/05/2005, 12:50
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Es tan extraño, todavía no encuentro la causa, y hasta donde yo se, este servidor no tiene mayor configuración a este respecto pero os prometo postear la solución si algún día doy con ella
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 23/05/2005, 12:53
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
por cierto .............ya son casi 100 de diferencia........¿cuándo te vas de vacaciones ?
  #12 (permalink)  
Antiguo 23/05/2005, 12:54
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
je je, no se, pero no creo que sea pronto , pero ánimo, nuestra "competencia" ya acabó
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #13 (permalink)  
Antiguo 07/06/2005, 15:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98


Resulta que tenía esta propiedad en mi clase:

Código:
	Public Property Get Date()
		Date = m_Date
	End Property
	Public Property Let Date(p_data)
		m_Date = p_data
	End Property
Claro, como Date es una palabra reservada, hacía extraños, lo curioso es que no arroja errores, solo hace lo que se le da la gana.

Ahora que ví de nuevo mi código me percaté del error, creo que esto lo hice un viernes así que sobra decir por qué sucedieron las cosas así

Salú y niños, nunca imiten esto
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 08/06/2005, 07:27
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Tengo 15 días desvelándome cada uno de ellos, a causa de tu código, revisándolo, pasándolo de un lenguaje a otro, vamos, hasta en rmcobol y basica que no aceptan clases hice pruebas y siempre daba resultados correctos........y resulta que era por un trozo de código que no habías colocado desde el inicio .......... eso no se hace Uri, eso no se hace

jejeje, saludos master
  #15 (permalink)  
Antiguo 08/06/2005, 09:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Sabia que contestarias algo similar, sobre todo porque siempre decimos lo mismo "Pon mas codigo"

Es un caso sumamente curioso, que no arroje ningun error por utilizar palabras reservadas, supongo que deberia ser porque hace una asignacion en lugar de reconocer esta como una propiedad

Salu y me encargare de que esto no vuelva a pasar, sobre todo porque es bueno dormir de vez en cuando
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #16 (permalink)  
Antiguo 08/06/2005, 14:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
mmmm, a caray, como que entonces ya uno a caido en ser predecible.....mmmmm, habrá que hacer algo al respecto.
  #17 (permalink)  
Antiguo 15/06/2005, 12:05
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Que bueno que ya quedo bien, bueno, solo como consejo, siempre es bueno o mejor tener una nomenclatura especial para las variables, como:

strCadena
intEntero
dtmDateTime

Algo así hace más fácil el manejo de las variables y podría evitar más cruzes con palabras reservadas, a mi me paso un caso con un software que compre para PHP 4.0, este codigo usaba la variables "final", cuando actualize mi PHP a 5.0, resulto que ese software empezó a fallar, y resultó ser que "final", ahora era una palabra reservada.

Entonces siempre es mejor tener nombres que nos ayuden rapidamente a identificar nuestras variables y funciones, igual, lo de la palabra reservada puede pasar siempre, pero será mucho menos probable.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #18 (permalink)  
Antiguo 15/06/2005, 12:33
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
En realidad asi es:

m_Date

Este es un miembro de mi clase que se usa internamente, cuando se usa externamente, para que sea mas intuitivo, lo llamas por su nombre, es asi como funcionan los objetos, regularmente tu no tienes una propiedad llamada intNumero, sino que tienes una propiedad Numero, Objeto.Numero, cuando lo llamas internamente, por supuesto que lo identificaras por medio de una nomenclatura (m_numero regularmente), en este caso especifico fue un descuido mio, ya que nunca contemple la posibilidad que fuera una palabra reservada , supongo que la tendria que haber bautizado con otro nombre que fuera igual de intuitivo.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:07.