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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-07-2008
ginasil ginasil is offline
Miembro
 
Registrado: jun 2004
Posts: 20
Poder: 0
ginasil Va por buen camino
Error AccesViolation en Threads

Hola a todos,
Por favor me podrian colaborar con u problema con Threads que generan error Accesviolation, segun lo que lei un thread "All threads of a process share the same address space" y no he podido hacer que cada uno tenga una dirección diferente.
tengo 10 progressBar y 10 checklistbox donde la idea es que por cada checklist un Thread me indique en el progressbar que el checklist esta actualizado:

type
Thilo_muestraestado = class(TThread)
private
Caja: TCheckListBox;
Num,mensaje,cod,accion,tipo : String;
protected
procedure Execute; override;
procedure MostrarProgreso;
procedure MostrarProgreso2;
public
constructor Create(Caja: TCheckListBox;Num : string);
end;

/**en public
hilo1,hilo2,..... hasta hilo10 : Thilo_muestraestado;

procedure Thilo_muestraestado.Execute;
var
k,i : integer;
begin
try
while not Terminated do
begin
//*** Ejecuta una consulta y si la hace
Synchronize( MostrarProgreso );
y si no la hace...
Synchronize( MostrarProgreso2 );
end;
finally
end;
end;

//** cuando inicia el form asigno los diez hilos...
if not Assigned(hilo0) then hilo0 := Thilo_muestraestado.Create(StringGrid2,'0');
if not Assigned(hilo1) then hilo1 := Thilo_muestraestado.Create(StringGrid3,'1');
... y asi...

procedure Thilo_muestraestado.MostrarProgreso;
begin
if Terminated then exit;
... agrega y borra lineas del stringrid... que lo llamo

if cajon = '0' then aumenta(Form1.ProgressBar0);
if cajon = '1' then aumenta(Form1.ProgressBar1);
y asi los diez...
end;

procedure Thilo_muestraestado.MostrarProgreso2;
begin
/**solo para que muestre progreso....
if cajon = '0' then aumenta(Form1.ProgressBar0);
if cajon = '1' then aumenta(Form1.ProgressBar1);
y asi los diez...
end;

Gracias
Responder Con Cita
 



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
Indy y Threads PeLuCa Internet 20 13-01-2011 00:42:21
Error in my_thread_global_end(): 4 threads didn't exit ??? foetus PHP 2 26-10-2007 18:52:16
uso de threads JULIPO API de Windows 2 25-07-2007 16:09:06
Error: Delphi 2006 + Debugger + Threads xEsk Varios 0 16-02-2007 16:03:19
Threads y transacciones anduj Conexión con bases de datos 5 12-07-2005 20:31:40


La franja horaria es GMT +2. Ahora son las 04:12:23.


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