| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mar 11 Nov, 2008 8:32 am Asunto: XP Manifest |
|
|
Hola, he intentado usar el XP Manifest para Builder 5 y me da error.
Lo he tomado del foro en https://cppbuilder.es/viewtopic.php?t=10062. Tengo la impresión de que es una versión para BCB 6. ¿Alguien sabe si existe una versión para BCB 5?
Gracias, Saludos. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 11 Nov, 2008 12:14 pm Asunto: |
|
|
| El archivo de recursos que hay que usar es el mismo para todas las versiones (incluso en la versión 1). Que error exactamente te da ? |
|
| Volver arriba |
|
 |
ZHAX1 Master

Registrado: 09 Mar 2007Mensajes: 191
|
Publicado: Mar 11 Nov, 2008 1:01 pm Asunto: |
|
|
¿hay alguna manera de que ter sirva a parte de para los common control para otros controles distintos?
Por ejemplo para que te transforme un TBitButton. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mar 11 Nov, 2008 9:10 pm Asunto: |
|
|
Gracias _Leo por responder.
El error me da no siempre, pero he comprobado que si en el Formulario incluyo un TListView en modo vsReport y con columnas definidas, tras compilar y ejecutar me da un error sin dar tiempo a que aparezca el Form en ejecución.
En otras ocasiones el programa arranca y peta al pasar el ratón por encima, saltando, entonces el debuger en asm (como si pulsara Ctl-C). Siempre con un ListView vsReport y Columnas definidas en tiempo de diseño.
Saludos. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 11 Nov, 2008 10:20 pm Asunto: |
|
|
Había algún problema con algunos componentes en las versiones viejas, uno de ellos el TListView (no recuerdo si al usar imágenes o al no usarlas, en caso de que lo tengas sin imágenes prueba añadiendo imágenes en la cabecera etc..), con TStatusBar (algún problema de pintado..), TToolBar, etc.. pero hace tanto tiempo que no recuerdo exactamente los detalles. La mayoría se solucionaban más o menos fácilmente.
Algunos de los problemas solo ocurrían al ejecutar el código desde el IDE, pero desde fuera funcionaban bien..
También puedes echarle un vistazo a unos componentes gratuitos que salieron por esa epoca y solucionaban muchos de esos problemillas:
http://www.soft-gems.net/index.php?option=com_content&task=view&id=17&Itemid=33 |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mie 12 Nov, 2008 12:54 am Asunto: |
|
|
...Bueno, ya había observado que el error está si lo ejecuto desde el IDE, aunque deshabilite el debugger. ¿Existe alguna manera de saber en tiempo de ejecución si se hace desde el IDE?, y si es así, ¿se puede detener el recurso para que no pete?. Esto facilitaría la labor de programación y depuración del ejecutable, sin tener que activar o no el recurso cada vez.
Otra cosa, cuando dices: | Cita: | | La mayoría se solucionaban más o menos fácilmente. |
¿Te refieres a lo de quitar el recurso del proyecto mientras se depura, o a modificar los componentes afectados?.
He notado que el error se produce al pasar el mouse sobre las cabeceras de las columnas del ListView (diseñadas el tiempo de diseño o en ejecución). He tratado de debuggear antes del error, capturando el WM_MOUSEMOVE, tanto en el evento del ListView como el mensaje del Form, pero el error se produce antes. Lo que no he hecho es capturarlo de la ventana del ListView sobrecargando: | Código: | virtual void __fastcall ListView::WndProc(Messages::TMessage &Message); | ; Quizás esto me lleve a algo.
En fin es una lata que no funcione bien en mi BCB 5 y me gustaría encontrar una solución medianamente aceptable y a ser posible automatizarla.
Muchas gracias _Leo.
Saludos. |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mie 12 Nov, 2008 8:01 am Asunto: |
|
|
Bueno, mi gozo en un pozo. He probado en otro PC y el error se produce aunque se ejecute fuera del IDE. O encuentro una solución para modificar el control o no me sirve en BCB 5.
Saludos. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 12 Nov, 2008 9:21 am Asunto: |
|
|
| _Leo escribió: | ... (Las versiones posteriores a la 6 ya tienen estos componentes actualizados visualmente)...
|
Creo que en base a esta respuesta de _Leo, lo mas recomendable es usar una version un poco mas actualizada del BCB digamos la 6 pues al parecer las compilaciones echas con la 5 no estan funcionando, recuerdo que desde que se ha puesto el archivo manifest, aqui en el foro no pude probarlo en la versión 5 del BCB, siempre lo hice con la version de BCB6 y siempre he tenido buenos resultados, comentarte que los programas viejos los he ejecutado en Windows Vista y estos tambien toman el Aspecto del Windows Vista, sin la necesidad de volver a recompilar en alguna versión posterior a la BCB6, pero como te comento, lo mas viable es que los compiles en la Versión 6. _________________
 |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mie 12 Nov, 2008 8:44 pm Asunto: |
|
|
Gracias Cesar por tu respuesta. No me apetece mucho cambiar de versión, eso me obliga a algunos cambios, pero posiblemente esa sea la mejor opción, y quizás me resuelva otros problemas derivados del uso de una versión tan antigua.
Saludos. |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Vie 14 Nov, 2008 8:30 am Asunto: |
|
|
Bien. Estoy probando con BCB 6. Parece que también aparecen problemas, en concreto con los botones ToolButton de las barras de botones. Si se coloca Style en tbsCheck, simplemente no funciona el botón, pierde ese estilo.
¿Teneis experiecia en esto?. ¿Lo habeis solucionado?.
Gracias y Saludos. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Vie 14 Nov, 2008 3:25 pm Asunto: |
|
|
| escafandra escribió: | | Estoy probando con BCB 6. Parece que también aparecen problemas, en concreto con los botones ToolButton de las barras de botones... |
En la versión 6 hay menos problemas, pero también hay algunos detallitos también..
Lo puedes solucionar poniendo las siguientes líneas en el constructor del Form.. por ejemplo, suponiendo que están contenidos en una barra de botones llamada "ToolBar1":
| Código: | for (int i = 0; i < ToolBar1->ButtonCount; i++)
ToolBar1->Buttons[i]->ControlStyle >> csCaptureMouse; |
Lo del TListView (en las versiones 4 y 5) una forma de solucionarlo sencilla es asociar imágenes a las cabeceras de las columnas. Con eso se soluciona lo del error y también lo de que se pare al ejecutarlo desde el IDE.. (aunque sea una imagen muy pequeña y con todos los pixels transparentes)
Los componentes que te decía anteriormente corrigen todos esos pequeños detalles, incluido lo del TListView y lo de este problema... aunque no los uses son interesantes para ver el código fuente y ver como han solucionado cada detallito... |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Vie 14 Nov, 2008 8:24 pm Asunto: |
|
|
Perfecto, _Leo. Voy a probar lo que me comentas. Muchísimas gracias.
Saludos. |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Vie 14 Nov, 2008 11:10 pm Asunto: |
|
|
| _Leo escribió: | Lo puedes solucionar poniendo las siguientes líneas en el constructor del Form.. por ejemplo, suponiendo que están contenidos en una barra de botones llamada "ToolBar1":
| Código: | for (int i = 0; i < ToolBar1->ButtonCount; i++)
ToolBar1->Buttons[i]->ControlStyle >> csCaptureMouse; |
|
Bueno, en cuanto a los botones, con tu truco ya se visualizan pulsados o no pulsados de forma enclavada si Style == tbsCheck.
Pero al mirar el estado del boton Button->Down no cambia nunca  , es igual que se pulse o que no.
Todavia no he visto con detenimiento los controles de los que me hablabas.
Saludos. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 15 Nov, 2008 3:28 pm Asunto: |
|
|
Podrías poner algo como la siguiente línea en el OnClick del botón:
ToolButton1->Down = !ToolButton1->Down;
o bien añadimos lo siguiente en el constructor del Form en lugar del código de más arriba.. lo he modificado para que haga el cambio en todas las TToolBar y en todos los botones que corresponda:
| Código: | for (int c = 0; c < ControlCount; c++)
{
TToolBar* tb = dynamic_cast<TToolBar*>(Controls[c]);
if (!tb) continue;
for (int i = 0; i < tb->ButtonCount; i++)
{
TToolButton* btn = tb->Buttons[i];
btn->ControlStyle >> csCaptureMouse;
if (btn->Style == tbsCheck)
{
struct Local : public TComponent {
TNotifyEvent EventoOriginal;
void __fastcall Click(TObject* Sender)
{
TToolButton* bt = static_cast<TToolButton*>(Sender);
bt->Down = !bt->Down;
if (EventoOriginal) EventoOriginal(Sender);
}
__fastcall Local(TComponent* Owner) : TComponent(Owner) {}
};
Local* local = new Local(btn);
local->EventoOriginal = btn->OnClick;
btn->OnClick = local->Click;
}
}
} |
|
|
| Volver arriba |
|
 |
|