Foros del Web » Programando para Internet » ASPX (.net) »

Problema con ActiveX y WebForm

Estas en el tema de Problema con ActiveX y WebForm en el foro de ASPX (.net) en Foros del Web. Hola a todos! Vereis tengo un problemilla con un Web Form que visualiza imagenes. En la parte superior tengo una serie de botones que ejecutan ...
  #1 (permalink)  
Antiguo 20/06/2007, 03:29
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Problema con ActiveX y WebForm

Hola a todos!

Vereis tengo un problemilla con un Web Form que visualiza imagenes. En la parte superior tengo una serie de botones que ejecutan codigo del lado del servidor, por lo tanto estan dentro de la etiqueta <form> con runat=server,
y debajo tengo un control ActiveX que visualiza las imagenes, el cual no funciona si se encuentra dentro de la etiqueta <form>.

El problema es que tengo que duplicar los botones, de manera que quede el activeX en el centro, entre las 2 botoneras. No se que puedo hacer, ya que solo se puede tener un unico <form> con runat=server, y los imageButton necesitan ejecutarse en el servidor...

Alguna idea de como hacer esto??

Saludos y gracias de antemano por vuestra ayuda
  #2 (permalink)  
Antiguo 20/06/2007, 04:15
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Y porqué no te muestra las imagenes si esta dentro del form. Mas bien tienes que mirar el tema por ahí. Como cargas las imagenes en el activex? hay que buscar la diferencia de que el activex este dentro de las etiquetas form y de que no lo esté. Pon el codigo si es necesario.

Un saludo
  #3 (permalink)  
Antiguo 20/06/2007, 08:08
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

Si el control ActiveX esta dentro de un <Form> con runat=server no funciona, supongo pq el ActiveX se ejecuta en la parte cliente y al ponerlo como codigo a ejecutar en le servidor pues no funciona.

Por si sirve de algo el visor de imagenes ActiveX que utilizo es el ImagXpress 6

Un saludo
  #4 (permalink)  
Antiguo 21/06/2007, 03:57
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Yo creo que es porque el id del activex cambia al ponerlo dentro del form. Tu como interaccionas con el activeX?

Un saludo
  #5 (permalink)  
Antiguo 22/06/2007, 03:00
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

Como ya e comentado antes el control activex funciona en el lado cliente, asi que para interactuar con él lo hago con vbscript, asi le indico la imagen a mostrar, los parametros de inicializacion, etc..

Una duda, un control ActiveX cualquiera, que se ejecute en la parte cliente puede funcionar dentro de un <form> con runat=server, o hay que sacarlo fuera del form, como tengo que hacer yo? No tengo claro si es un problema exclusivamente mio o sucede siempre

Muchas gracias por tu ayuda javiermil

Un saludo
  #6 (permalink)  
Antiguo 26/06/2007, 05:17
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

Sabe decirme alguien si un control ActiveX que se ejecute en el lado cliente puede ser utilizado dentro de un <Form runat=server> ??

Un saludo
  #7 (permalink)  
Antiguo 26/06/2007, 05:19
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Si puede ser usado. Como te he dicho antes, tu problema creo que esta en que al ponerlo dentro del form con runat=server el id se modifica y las llamadas que haces con vbscript no funcionan. Puede que sea ese tu problema.

Un saludo
  #8 (permalink)  
Antiguo 27/06/2007, 05:20
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

muchas gracias por tu respuesta Javier, ahora viene la lógica pregunta

como se puede solucionar el problema del cambio de id?
  #9 (permalink)  
Antiguo 28/06/2007, 05:58
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Pones el object como runat=server, luego en el codigo de cliente en vbscript, asignas a una variable:

Dim idAX=<%=idControl.ClientID %>

y ahí ya tendrías el id.

Espero haberme explicado bien, un saludo.
  #10 (permalink)  
Antiguo 03/07/2007, 02:57
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

Hola javiermil,

al poner el runat=server dentro del <object> sale un error al cargar la página:

Guid debe contener 32 dígitos con 4 guiones (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

Alguna idea de como se puede solucionar esto?

Un saludo
  #11 (permalink)  
Antiguo 04/07/2007, 05:54
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Haz una cosa, quita el runat=server del object. Create un elemento, no sé un div con runat=server y luego pones el object dentro e intenta acceder al object a través del div. Puedes hacer eso? Por lo que he leido por ahí no dan una solucion, yo buscaría formas de acceder al activex sin poner el runat=server en el object. A ver si a través del div puedes o a través de otro elemento. El tema es poder acceder al id del elemento.

Un saludo

Última edición por javiermil; 04/07/2007 a las 06:19
  #12 (permalink)  
Antiguo 04/07/2007, 09:16
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

He hecho lo del div que me has comentado y luego he puesto este codigo para poder visuazliar todos los clientID

Dim myEnumerator As IEnumerator = Controls.GetEnumerator()
While myEnumerator.MoveNext()
Dim myControl As Control = CType(myEnumerator.Current, Control)
' Display the ClientID property.
Response.Write("<br />The ClientID property of Control : " & myControl.ClientID)
End While

y me saca una lista con tres clientID : Form1, _ctl1 y ctl0 , pero los he probado y no son ninguno de esos. No entiendo muy bien lo que hace el codigo que me proponias:

Dim idAX=<%=idControl.ClientID %>

q es idControl?
  #13 (permalink)  
Antiguo 05/07/2007, 01:33
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Mira una posible solución es haciendo en vbscript:

document.getElementsByTagName("object")(0).id

Así te aparecería la lista de etiquetas object que haya en el documento, cogiendo la primera (0) y accediendo al id de la misma.

Espero que te sirva. Un saludo
  #14 (permalink)  
Antiguo 05/07/2007, 06:01
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

Ya he probado la solucion que me has propuesto y efectivamente me devuelve el id del <object> (Xpress1), pero es el mismo que tiene puesto desde el HTML, vamos el que yo le he dado.

Lo curioso es que me sigue dando el mismo error al cargar la página:

Se requiere un objeto Xpress1



Osea que me dice que el id del object es Xpress1, pero por otro lado me dice que no existe

Un saludo y muchas gracias por tu ayuda javiermil
  #15 (permalink)  
Antiguo 10/07/2007, 03:38
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Puedes ponerme aquí como interactuas con el activex, pegame el código.

Un saludo
  #16 (permalink)  
Antiguo 10/07/2007, 05:50
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

a ver, tengo una página Visor.aspx que es donde esta el <object id=Xpress1> del ActiveX y luego en Visor.aspx.vb en el page load inicializo el ActiveX de esta forma:

Response.Write("<SCRIPT LANGUAGE='VBScript'>" + Chr(13))
Response.Write("Dim dlFileName" + Chr(13))
Response.Write("Dim dlFileNameLocal" + Chr(13))
Response.Write("Dim numPages" + Chr(13))
Response.Write("Sub window_OnLoad()" + Chr(13))
Response.Write(" where = location.protocol & ""//"" & location.hostname" + Chr(13))
Response.Write(" Xpress1.PageNbr = 1" + Chr(13))
Response.Write(" Xpress1.UndoEnabled = True" + Chr(13))
Response.Write(" Xpress1.ManagePalette = False" + Chr(13))
Response.Write(" Xpress1.Notify = True" + Chr(13))
Response.Write(" Xpress1.ProgressEnabled = False" + Chr(13))
Response.Write(" Xpress1.Palette = 1 'Fixed" + Chr(13))
Response.Write(" Xpress1.BorderType = 2" + Chr(13))
Response.Write(" Xpress1.ShowHourglass = True" + Chr(13))
Response.Write(" Xpress1.MousePointer = 21 'Hand" + Chr(13))
Response.Write(" dlfilename = " + Chr(34) + datoOrigen + Chr(34) + Chr(13)) 'Tomo el valor de la dll
Response.Write(" dlfilenamelocal = " + Chr(34) + datoEliminar + Chr(34) + Chr(13))
Response.Write(" Xpress1.filename = dlfilename" + Chr(13))
Response.Write(" If Xpress1.ImagError <>0 then" + Chr(13))
Response.Write(" dlfilename = " + Chr(34) + datoOrigen + Chr(34) + Chr(13)) 'Tomo el valor de la dll
Response.Write(" Xpress1.filename = dlfilename" + Chr(13))
Response.Write(" End If" + Chr(13))
Response.Write(" numPages = " & Str(numPages) + Chr(13))
Response.Write(" Xpress1.Scrollbars = 3" + Chr(13))
Response.Write(" Xpress1.AutoSize = 1" + Chr(13))
Response.Write(" Xpress1.Antialias = 1" + Chr(13))
Response.Write("end sub" + Chr(13))

El error de que es necesario un objeto Xpress1 lo da en la primera referencia a él, en esta línea:

Xpress1.PageNbr = 1

y para probar lo que me sugeriste de la id metí este codigo en vbscript directamente en el Visor.aspx (en un <IMG id=prueba> que ejecuta una func al ser pulsado):

Sub prueba_onclick
alert(document.getElementsByTagName("object")(1).i d)
End Sub

Un saludo!!
  #17 (permalink)  
Antiguo 10/07/2007, 05:56
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

a ver, tengo una página Visor.aspx que es donde esta el <object id=Xpress1> del ActiveX y luego en Visor.aspx.vb en el page load inicializo el ActiveX de esta forma:

Response.Write("<SCRIPT LANGUAGE='VBScript'>" + Chr(13))
Response.Write("Dim dlFileName" + Chr(13))
Response.Write("Dim dlFileNameLocal" + Chr(13))
Response.Write("Dim numPages" + Chr(13))
Response.Write("Sub window_OnLoad()" + Chr(13))
Response.Write(" where = location.protocol & ""//"" & location.hostname" + Chr(13))
Response.Write(" Xpress1.PageNbr = 1" + Chr(13))
Response.Write(" Xpress1.UndoEnabled = True" + Chr(13))
Response.Write(" Xpress1.ManagePalette = False" + Chr(13))
Response.Write(" Xpress1.Notify = True" + Chr(13))
Response.Write(" Xpress1.ProgressEnabled = False" + Chr(13))
Response.Write(" Xpress1.Palette = 1 'Fixed" + Chr(13))
Response.Write(" Xpress1.BorderType = 2" + Chr(13))
Response.Write(" Xpress1.ShowHourglass = True" + Chr(13))
Response.Write(" Xpress1.MousePointer = 21 'Hand" + Chr(13))
Response.Write(" dlfilename = " + Chr(34) + datoOrigen + Chr(34) + Chr(13)) 'Tomo el valor de la dll
Response.Write(" dlfilenamelocal = " + Chr(34) + datoEliminar + Chr(34) + Chr(13))
Response.Write(" Xpress1.filename = dlfilename" + Chr(13))
Response.Write(" If Xpress1.ImagError <>0 then" + Chr(13))
Response.Write(" dlfilename = " + Chr(34) + datoOrigen + Chr(34) + Chr(13)) 'Tomo el valor de la dll
Response.Write(" Xpress1.filename = dlfilename" + Chr(13))
Response.Write(" End If" + Chr(13))
Response.Write(" numPages = " & Str(numPages) + Chr(13))
Response.Write(" Xpress1.Scrollbars = 3" + Chr(13))
Response.Write(" Xpress1.AutoSize = 1" + Chr(13))
Response.Write(" Xpress1.Antialias = 1" + Chr(13))
Response.Write("end sub" + Chr(13))
Response.Write("</SCRIPT>" + Chr(13))

El error de que es necesario un objeto Xpress1 lo da en la primera referencia a él, en esta línea:

Xpress1.PageNbr = 1

y para probar lo que me sugeriste de la id metí este codigo en vbscript directamente en el Visor.aspx (en un <IMG id=prueba> que ejecuta una func al ser pulsado):

Sub prueba_onclick
alert(document.getElementsByTagName("object")(1).i d)
End Sub

Un saludo!!
  #18 (permalink)  
Antiguo 11/07/2007, 01:18
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Prueba esto, antes de Response.Write(" Xpress1.PageNbr = 1" + Chr(13)), pones:

Response.Write("Dim Xpress1" + Chr(13))
Response.Write("set Xpress1=document.getElementById('Xpress1')" + Chr(13))

A mi con otro activex me ha funcionado.

Un saludo
  #19 (permalink)  
Antiguo 11/07/2007, 08:12
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

bueno, pues ya he probado lo que me ponias en tu ultimo mensaje, y nada esto sigue sin funcionar. Parece que no hay quien pueda con este ActiveX XD

Yo creo que simplemente no se puede ejecutar metiendolo dentro del <Form>
Si se te ocurre alguna cosa mas que probar...


Un saludo y muchas gracias javiermil
  #20 (permalink)  
Antiguo 12/07/2007, 09:23
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Hola, dentro de un form con runat server funciona porque yo lo he probado con otro activex y me ha funcionado.

Una cosa qué versión de visual studio usas? A mi me funciona pero estoy usando 2005, framework 2.0

Un saludo
  #21 (permalink)  
Antiguo 13/07/2007, 06:25
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

uso el visual studio 2002 y el framework 1.0, si es por esto no hay nada que hacer, pq estoy limitado a utilizar esta version


Un saludo!!
  #22 (permalink)  
Antiguo 14/07/2007, 13:47
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Problema con ActiveX y WebForm

Pues va a ser por eso. Deberías ya cambiar de versión

Un saludo y siento no poderte solucionar el problema.
  #23 (permalink)  
Antiguo 16/07/2007, 00:52
 
Fecha de Ingreso: junio-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con ActiveX y WebForm

Pues nada javiermil, solo darte las gracias por las molestias que te has tomado para poder ayudarme a solucionar este problema


Un saludo

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 02:16.