Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Bueno, aquí te subo una versión (que por falta de tiempo no compilé) modificada para que trabaje con un ActionList externo. Fíjate que en donde haces uso de FAcciones, primero verifico que esté asignado antes de usarlo.

También comenté las lineas donde creas y destruyes FAcciones, ya que tu componente no debería hacerlo.

Cualquier duda o comentario, será hasta mañana que te conteste...

Saludos...
Archivos Adjuntos
Tipo de Archivo: zip NewDecBrowser.zip (2,4 KB, 20 visitas)
Responder Con Cita
  #2  
Antiguo 03-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Primero, lamento no haber llegado antes... francamente sigo corto de tiempo.

Cita:
Empezado por maeyanes
donde haces uso de FAcciones, primero verifico que esté asignado antes de usarlo.

También comenté las lineas donde creas y destruyes FAcciones, ya que tu componente no debería hacerlo.
¡¡¡Ecole!!! ¡¡Eureka!!

Este es el punto. No basta con que hagas que FAcciones sea nil cuando se libera la referencia... falta verificar, antes de usar este puntero, que apunte a algún lado, y no a nil. Es decir, cada vez que se use:

Código Delphi [-]
  if FAcciones <> nil then
    Procesar(FAcciones)
  else
    Raise Exception.Create('Error: debe asociar un componente TActionList'
      + ' antes de usar el TDecWebBrowser');
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 04-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Aquí es donde cuadra aquello de zapatero, a tus zapatos; de no por mucho madrugar amanece más temprano; de sabe el zorro más por viejo que por zorro; de... ¡Al fin lo habéis conseguido!

Ahora todo parece funcionar correctamente, sin necesidad de ser prolijo, como lo estaba siendo yo antes. El código enviado por maeyanes (muchas gracias) me lo demostró, aunque, como alguien apuntó arriba, estaba todo dicho...

El problema estaba en no verificar que la variable "FAcciones" no fuera "nil" desde un principio,... y trataré de explicarme. Yo he pasado por hacer todo cuanto se me decía, pero, no comprendía (menudo ripio) que fuera preciso verificar que la variable "FAcciones" no fuera "nil" allá donde fuera necesario su usu.

¿Por qué digo esto? Pues porque me paraba en cierto error que se producía nada más alojar el componente en el formulario: sin que pudiera hacerse nada más, ni siquiera asignar un componente "TActionList". ¿Cómo iba a pensar que fuera necesario verificar algo que se sabe a ciencia cierta no existe todavía?

Pues así parece ser, en este caso: no he hecho muchas pruebas, pero, desde luego, ahora, gracias a vosotros (pues que si no el componente se hubiera quedado en una barbaridad por los siglos de los siglos, amén) el componente funciona y eso es, básicamente, lo que se ha cambiado: ahora se verifica que exista una referencia en "FAcciones" antes de hacer uso de dicha variable.

En fin. Casi 50 mensajes para este Hilo no están nada mal... probablemente debí de haber cogido el Hilo del asunto muy antes, pero, no fue así, probablemente porque al encontrar YO (mi tesoro) una solución (MALÍSIMA) me cerré demasiado en ella, que todo hay que decirlo, aunque esta vez se sepa.

Lo dicho, gracias a todos de nuevo. De verdad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 04-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una última cosa. Esto seguro es un error de dedo. En el código que tienes en tu página (lo acabo de bajar), en el método ComprobarEnlaces, donde dice

if not Assigned(FAcciones) then

creo que debe decir

if Assigned(FAcciones) then

// Saludos
Responder Con Cita
  #5  
Antiguo 04-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ya sé que era la última cosa pero es justo decir lo siguiente.

Durante todo el hilo mi mente se enfocó en algunas partes puntuales pero la verdad no tenía claro cuál era el funcionamiento de la componente de David.

Finalmente he logrado ejecutar el ejemplo y puedo decir que me ha parecido una idea muy interesante y original.

// Saludos
Responder Con Cita
  #6  
Antiguo 04-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Cita:
Empezado por roman
Una última cosa. Esto seguro es un error de dedo. En el código que tienes en tu página (lo acabo de bajar), en el método ComprobarEnlaces, donde dice

if not Assigned(FAcciones) then

creo que debe decir

if Assigned(FAcciones) then

// Saludos
Lo más seguro, y también es seguro que viene de lo que yo hice, ya que fue hecho a unos minutos de que me retirara del trabajo, y como mencioné, no lo pude compilar y probar para verificarlo...


Saludos...
Responder Con Cita
  #7  
Antiguo 04-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por roman
Una última cosa. Esto seguro es un error de dedo. En el código que tienes en tu página (lo acabo de bajar), en el método ComprobarEnlaces, donde dice

Código Delphi [-]
  if not Assigned(FAcciones) then
creo que debe decir

Código Delphi [-]
  if Assigned(FAcciones) then
Así es la verdad. Ya lo he corregido y he vuelto a actualizar el componente. Se me pasó.


Cita:
Empezado por maeyanes
Lo más seguro, y también es seguro que viene de lo que yo hice, ya que fue hecho a unos minutos de que me retirara del trabajo, y como mencioné, no lo pude compilar y probar para verificarlo...
Sí; ya lo creo que así. Copiar y pegar es lo que tiene, sobre todo a ciertas horas.


Cita:
Empezado por roman
Ya sé que era la última cosa pero es justo decir lo siguiente.

Durante todo el hilo mi mente se enfocó en algunas partes puntuales pero la verdad no tenía claro cuál era el funcionamiento de la componente de David.

Finalmente he logrado ejecutar el ejemplo y puedo decir que me ha parecido una idea muy interesante y original.
Bueno, roman, pues me alegro de que te parezca curioso el asunto: puedes hacer uso de la idea y del componente y/o de su código para lo que te apetezca. Yo mismo recogí la idea de "HTML Application Demo", un ejemplo curioso que tenía guardado hace tiempo y que hube descargar de DelphiBox, si el "readme.txt" no me engaña...

Lo adjunto aquí según yo lo tengo guardado, por si quiere alguien echarle un vistazo. Gracias a todos otra vez.
Archivos Adjuntos
Tipo de Archivo: zip HTML Application Demo.zip (3,8 KB, 25 visitas)
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está 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 17:38:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi