PDA

Ver la Versión Completa : Propiedad de tipo TShortCut


eMax
10-06-2003, 16:53:42
Hola foro...

Estoy desarrollando un componente al cual le quiero añadir una propiedad del tipo TShortCur, pero el problema es que el inspector de objetos no me muestra el combo para seleccionar el ShortCut correspondiente a través da la lista como lo hacen otros componentes con la misma propiedad.
Como puedo corregir éste problema?

Desde ya muchas gracias.

Saludos.

delphi.com.ar
10-06-2003, 17:03:17
Te cuento que yo tengo creado un componente con la propiedad property Key: TShortcut read FShortCut write SetShortCut; y el object inspector reconoce sin problemas este tipo de datos sin necesidad de registrar un editor de propiedades. (Utilizo Delphi 5)


Saludos!

eMax
10-06-2003, 21:20:01
Realmente no entiendo por que el inspector de objetos no lo interpreta bien, he realizado la implementación de la propiedad de la misma manera que lo hace por ej. el TMainManu pero igualmente no me muestra el combo para seleccionar.
Yo en cambio utilizo Delphi 6.

De todos modos gracias por tu pronta respuesta.

delphi.com.ar
10-06-2003, 21:44:43
En la unit DsgnIntf de Delphi 5 creo que en DesignIntf o DesignEditors de Delphi 6 y 7 tienes definido TShortCutProperty, que es el editor de propiedades para ese tipo de propertys.

Solo tienes que registrarlo, si no sabes como hacerlo, solo tienes que preguntar.

Saludos!

eMax
11-06-2003, 17:36:57
Hola delphi.com.ar


Intente registrar la propiedad, o mejor dicho el editor de propiedades para la misma, para lo cual agregue en el procedimiento Register la siguiente linea

RegisterPropertyEditor(TypeInfo(TShortCut), TcxControlItem, 'ClearKey', TShortCutProperty);


Además tuve que agregar la unidades DesignIntf y VCLEditors
he indicar la ruta a los .pas correspondientes (..\ToolsAPI) pero la última unidad mencionada (VCLEditors) da error en la clausula uses de la sección de implementación de dicha unidad.

A qué se puede deber el error?
Estoy realizando los pasos correctos?

Nuevamente gracias y Saludos.

delphi.com.ar
11-06-2003, 18:08:10
Posteado originalmente por eMax
da error en la clausula uses de la sección de implementación de dicha unidad.

¿Qué error da?... Supongo que falta una unit... ¿Cuál?

Igualmente, te voy diciendo que leas este Hilo http://www.clubdelphi.com/foros/showthread.php?s=&threadid=1053 sobretodo los últimos posts.

Saludos!

eMax
11-06-2003, 20:44:35
Es verdad falta una unit. :D
Al quere compilar salta el error que falta la unit Proxies.dcu.

Estuve viendo hilo que me recomendaste. Ahora supongo que quizás debería agregar al pequete (como estoy probando uso el Borland User Components -dclusr60.bpl-) las correspondientes unidades donde figura el editor de propiedades y la correspondiente clase TShortCutProperty.

En los mensajes anteriores recomendas que es mejor crear dos paquetes uno para RunTime y otro para DesignTime.
Ahora, mi duda es la siguiente: Al depurar un programa, cuando lo corres paso a paso, el mismo va entrando todas las unidades donde halla código involucrado aún corriendolo con F8, excepto las unidades de delphi dado que las .dcu y los .pas están en carpetas separadas. En resumen, como puedo hacer para que esto no ocurra. Espero haber sido suficientemente claro.

Saludos.

delphi.com.ar
11-06-2003, 21:36:22
Lo de la DCU es un error muy común, cuando pasamos las paquetes de Delphi 5 a 6 todos nos encontramos con la ausencia de esa unit que está definida dentro del paquete DesignIDE, solo tendrías que usar ese paquete en tu paquete de diseño, te recomiendo leer este LINK
http://community.borland.com/article/0,1410,27717,00.html

Con respecto al debugger, mientras tengas en el Search Path de tu proyecto las units no compiladas (los archivos PAS), podrás hacer un debug paso a paso sin problemas.

eMax
11-06-2003, 22:47:01
Perdón por la insistencia pero hay algo que no me queda claro. Probablemente tengo un problema de concepto. :confused:
Supongamos que desarrollo un componente y lo incluyo en un paquete para distribuirlo.
1ro. que tipo de paquete debe generar.
2do. como hago para incluir en el paquete solamente las .dcu y que donde lo instale funcione sin problemas (siempre hablando de instalarlo en otro Delphi para desarrollar).
3ro. Con respecto al debbuger. A lo que me refiero es a lo siguiente: como hago para que al depurar NO SE META en las unidades de los componentes que tengo instalados. Obviamente cuando en un form pongo, por ej. un edit standard de la vcl, y programo un evento del mismo digamos OnExit si lo corro paso a paso, el código no salta a la unidad donde esta el código del TEdit, no se si me explico.

Bueno delphi.com.ar, muy agradecido por tu colaboración.
Y te repito, disculpa la insistencia sobre el tema pero en verdad me cuesta bastante entenderlo.

Saludos.