Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2010
MAPER MAPER is offline
Registrado
 
Registrado: oct 2004
Ubicación: Perú
Posts: 4
Poder: 0
MAPER Va por buen camino
No me muestra Evento en el Inspector de Objetos

Holas a todos los amigos del Club,
Mi problema es el sgte, el la cia estamos migrando unos componentes de Delphi 7 a Delphi 2010 y tenemos un problema en la creación de un evento(OnValidateField) que hemos creado ya que nos compila bien todo pero al momento de utilizar el componente(TwwDBEdit) este no muestra el evento creado. no se si Delphi 2010 tiene algo en especial para la creación de eventos? me pueden ayudar a solucionar el problema que esta pasando. yo tengo instalado el Rad Studio 2010 con update 5.
aquí les dejo parte de la declaración de mis clases:


TwwValidateField = procedure(Sender: TObject; Field: TField; var IsValid: Boolean) of object;

TwwDBCustomEdit = class(TwwCustomMaskEdit)
private
FBeforeValue: String;
FIsValueValid, FCancelEscape: Boolean;
FOnValidateField: TwwValidateField;

protected
FFocused: Boolean;
...
.

public
...
.
property OnValidateField: TwwValidateField read FOnValidateField write FOnValidateField;

end;

TwwDBEdit = class(TwwDBCustomEdit)
published
property OnClick;
...
.
property OnValidateField;
end;
Responder Con Cita
  #2  
Antiguo 12-01-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

¿Y esos eventos están declarados como published o solo como public?

Por que hay una gran diferencia entre declarar algo como public que como published...

Para que una propiedad o evento se muestre en el inspector de objetos tienen que estar declarados bajo published:

Código Delphi [-]
type
  TMyClass = class(TComponent)
    // ...
  published
    property MyEvent: TNotifyEvent read FMyEvent write FMyEvent;
  end;


Saludos...
Responder Con Cita
  #3  
Antiguo 13-01-2010
MAPER MAPER is offline
Registrado
 
Registrado: oct 2004
Ubicación: Perú
Posts: 4
Poder: 0
MAPER Va por buen camino
Gracias por ayudarme...
Si te fijas en el codigo hay 2 clases:

TwwValidateField = procedure(Sender: TObject; Field: TField; var IsValid: Boolean) of object;

TwwDBCustomEdit = class(TwwCustomMaskEdit)
private
FBeforeValue: String;
FIsValueValid, FCancelEscape: Boolean;
FOnValidateField: TwwValidateField;

public
...
.
property OnValidateField: TwwValidateField read FOnValidateField write FOnValidateField;

end;

TwwDBEdit = class(TwwDBCustomEdit)
published

...
.
property OnValidateField;
end;


en la primera clase(TwwDBCustomEdit) se declara como PUBLIC para que esta propiedad sea utilizado por otra que la herede. y en la segunda clase(TwwDBEdit) se define como PUBLISHED y realmente es la segunda clase la que se registra y la que se va a usar.

Como lo comentaba al inicio esta misma declaracion esta funcionanado en Delphi 7 y si me muestra el envento TwwDBEdit.OnValidateField en el inspector de objetos. el detalle viene cuando se ha hecho los mismos cambios a y compilado en Delphi 2010 y todo compila bien y se registran los componentes sin problemas. pero cuando se usa el componente (TwwDBEdit) al ir al inspector de objetos no me esta mostrando el envento.

Lo que si me parece raro que cuando declaro una variable del la clase(TwwDBEdit) y luego veo sus propiedades en el editor si me aparece el evento. por eso no se si en delphi 2010 tenga que hacer algo mas.
Responder Con Cita
  #4  
Antiguo 13-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por MAPER Ver Mensaje
...
en la primera clase(TwwDBCustomEdit) se declara como PUBLIC para que esta propiedad sea utilizado por otra que la herede.
...
En ese caso lo mejor es ponerlo en el bloque protected. y no hacerlo publica directamente.Y creo que por ahi va tu problema..

En tu clase TwwDBCustomEdit->
Código Delphi [-]
protected
   ...
   .
  property OnValidateField: TwwValidateField read FOnValidateField write FOnValidateField;
Ahora en tu clase TwwDBEdit
Código Delphi [-]
published

      ...
      .
      property OnValidateField;
Pruebalo...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 13-01-2010 a las 19:31:30.
Responder Con Cita
  #5  
Antiguo 15-01-2010
MAPER MAPER is offline
Registrado
 
Registrado: oct 2004
Ubicación: Perú
Posts: 4
Poder: 0
MAPER Va por buen camino
Thumbs up

Ya realice el cambio y la verdad sigue igual.
Me gustaría poder enviarles los fuentes del componentes para así uds. puedan ayudarme a ver con el código que realmente esta pasando.
mi correo es manuel_penar@hotmail.com
Si pueden enviarme sus correos para asi enviarles los fuentes de los componentes.
muchas gracias por su ayuda
Responder Con Cita
  #6  
Antiguo 15-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por MAPER Ver Mensaje
Ya realice el cambio y la verdad sigue igual.
Me gustaría poder enviarles los fuentes del componentes para así uds. puedan ayudarme a ver con el código que realmente esta pasando.
mi correo es bla,bla,bla <---
Si pueden enviarme sus correos para asi enviarles los fuentes de los componentes.
muchas gracias por su ayuda
Amigo MAPER, debes tener cuidado cuando pones tu correo electronico, por que puede ser detectado por el robot de google u otros y asi lo podrian utilizar para mandarte Spam o basura(publicidad) a tu correo electronico. Por lo tanto te recomiendo, si no lo has hecho, leer la Guia de Estilo.
Por otro lado si quieres mostrar tu codigo de tus componentes, puedes adjuntarlo(chequea el botoncito con dibujo de un clip junto a la carita blanca cuando estes escribiendo un mensaje) a tus mensajes, si no es demasiado grande.Si fuera demasiado pesado tambien puedes subirlo al FTP del club o algun otro sitio de Share de archivo..
En mi caso no dispongo de delphi 2010, pero quisas alguien pueda hecharte una mano para ver tu codigo fuente.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 15-01-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por rgstuamigo Ver Mensaje
En mi caso no dispongo de delphi 2010, pero quizas alguien pueda echarte una mano para ver tu codigo fuente.
Saludos...
En mi caso tampoco tengo Delphi 2010 (aún ). Me encantaría poder ver de cerca este asunto. Maper, ¿ya buscaste si este problema ha sido reportado a Embarcadero?
Responder Con Cita
  #8  
Antiguo 15-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Cita:
Empezado por Al González Ver Mensaje
En mi caso tampoco tengo Delphi 2010 (aún ).
...
Vaya.....Pensé que mas bien Al Gonzáles fué unos de lo primero en obtener Delphi 2010.
En mi caso, lamentablemente no alcalza el presupuesto para poder comprarlo. por eso sigo con mi Delphi 7.
Que bueno, pero que bueno,seria que Embarcadero firmara algunos convenios con algunas Universidades de estos lugares, para poder utilizar con mucho mas énfasis sus productos, y sin miedo, ya que los que tiene mi Universidad en su Mayoria son Piratas.. Es la cruda realidad.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componente utilizado en el inspector de objetos de D2009 gatosoft OOP 3 02-12-2009 17:57:53
Categorias en el inspector de objetos no presentes en Delphi 2009 Cheerpipe Varios 4 05-03-2009 15:33:25
Inspector de Objetos en fast Report Chaja Impresión 1 10-08-2008 21:20:56
Entendiendo al inspector de objetos roman OOP 9 23-08-2005 16:22:32
Como crear un Inspector de Objetos? eirud20 OOP 9 23-04-2004 06:13:04


La franja horaria es GMT +2. Ahora son las 09:44:26.


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