Hola compañeros:
Tengo un pequeño problemilla. Estoy creando un pequeño programa que en una de las partes crea un hilo que debe ser ejecutado para no quedar bloqueado por otro proceso, el problema es que cuando me ejecuta el hilo me da el siguiente error:
Debugger Exception Notification
Project Servicio.exe raised exception class EAccessViolation with message ' Access violation at Address 004E8B49 in module 'Servicio.exe'. Read of addres 00000667'.
Para poder estudiarlo mejor he incluido un botón que me crea el hilo en lugar de ser otros procesos quienes me lo creen y he descubierto que si lo que ejecuto es un "Showmessage" la cosa va bien pero si otro objeto me da el error en esa línea como si no estuviera creado. El código es el siguiente:
Código Delphi
[-]TPruebaMensaje = class(TThread)
private
protected
public
procedure Execute; override;
procedure UpdateProgress;
end;
TVentana_Principal = class(TForm)
...
...
Procedure TPruebaMensaje.Execute;
begin
Synchronize(UpdateProgress);
end;
procedure TVentana_Principal.Button4Click(Sender: TObject);
var
MensajeThread: TPruebaMensaje;
begin
MensajeThread := TPruebaMensaje.Create(True);
MensajeThread.FreeOnTerminate:=true;
MensajeThread.Resume;
end;
Procedure TPruebaMensaje.UpdateProgress;
begin
showmessage('hola'); end;
Es la primera vez que inicio un hilo en el foro así que espero no haberme saltado nada de la guía de estilo, si es así por favor disculpen y comentenme lo que sea.
Muchas gracias por su tiempo y paciencia.