Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Error extraño en ShowMessage()

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Error extraño en ShowMessage() Responder citando

Dentro de un Thread estoy usando un clásico

ShowMessage("Presione Ok")

Lo extraño es que en ocasiones me ocupa toda la pantalla tanto horizontal, como verticalmente.Otras ocupa todo el espacio vertical y es una franja estrecha en sentido horizontal.Otras ocupa todo el espacio horizontal y es una franja estrecha vertical.

He buscado en foros y no encuentro nada parecido.
Agradezco una ayuda
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola,

¿En que parte del Thread estas utilizando el ShowMessage()?
Puedes probar esto:
Código:

void __fastcall MiThread::Execute()
{
//...
Synchronize(MostrarMensaje);
//...
}

void __fastcall MiThread::MostrarMensaje()
{
ShowMessage("Presione Ok");
}

Un saludo!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Isa, gracias por tu respuesta y sobre todo por la idea
La verdad es que no habia leido lo que el propio Codegear incluye entre comentarios al crear el Thread desde el menu File->New

Pongo el .cpp y el .h completos por si a alguien mas le pasa como a mi

#include <vcl>
#pragma hdrstop

#include "Unit7.h"
#pragma package(smart_init)
extern void Mostrar_Mensaje();

//***************
//** Este es el .cpp
//***************

//---------------------------------------------------------------------------

__fastcall TMensaje::TMensaje(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall TMensaje::Execute()
{
//---- Place thread code here ----
FreeOnTerminate = true;
Synchronize(&UpdateCaption);

}
//---------------------------------------------------------------------------
void __fastcall TMensaje::UpdateCaption()
{
Mostrar_Mensaje();
}


//**************
//** Y este es el .h
//**************

//---------------------------------------------------------------------------

#ifndef Unit7H
#define Unit7H
//---------------------------------------------------------------------------
#include <Classes>
//---------------------------------------------------------------------------
class TMensaje : public TThread
{
private:
protected:
void __fastcall Execute();
void __fastcall TMensaje::UpdateCaption();
public:
__fastcall TMensaje(bool CreateSuspended);
};
//---------------------------------------------------------------------------
#endif
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.