Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-03-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Con lo que pones es difícil entender lo que te pasa. Ten en cuenta que Synchronize admite como parámetro un puntero a una función miembro de tu TThread:
Código:
void __fastcall Synchronize(TThreadMethod &Method);
Eso quiere decir que tienes que escribir un método miembro de tu clase TThread y que sea este el que invoque a las funciones que precises.

Saludos.
Responder Con Cita
  #2  
Antiguo 28-03-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Adjunto el proyecto y decir que el problema lo tengo en THiloDebugger y que en TDebugger puse en el private "friend class THiloDebugger" para poder acceder a las funciones private del TDebugger desde el THiloDebugger. Ya digo que estoy dando palos de ciego porque no encuentro info al respecto y lo que encuentro no estoy seguro que sea lo que necesito. Si teneis algun pdf donde se hable del manejo de hilo avanzado en C++builder para aprender y me lo pasaseis me hariais un gran favor porque en este tema estoy muy muy verde
Archivos Adjuntos
Tipo de Archivo: rar TDebugger con loop en hilo.rar (234,9 KB, 3 visitas)
Responder Con Cita
  #3  
Antiguo 28-03-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Sin profuncizar mucho en tu código veo errores de bulto. Por ejemplo:

Código:
void __fastcall THiloDebugger::OnCreateThreadDebugEventThread()
{
        dwContinueStatus = TDebugger::OnCreateThreadDebugEvent(&DebugEv);
}
En caso de que OnCreateThreadDebugEvent fuese una función miembro estática de la clase TDebugger, podrías invocarla así, pero como no lo es, deber hacerlo a través de un objeto de esa clase.

El mismo error se repite varias veces. Piensa que necesitas hacer para diseñar las clases. Un TThread no es mas que otra clase y se rige por los mismos principios. Si vas a acceder a objetos o variables desde distintos threads al mismo tiempo ten en cuenta que escrituras simultáneas pueden corromper los hilos, de aquí que exista Synchronize. Las API de Windows
suelen ser thread-safe pero la VCL no.

Espero haberte orientado.


Saludos.
Responder Con Cita
  #4  
Antiguo 28-03-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
pero en el loop uso Synchronize(OnCreateThreadDebugEventThread); para ejecutar el metodo que has puesto y en la clase TDebugger tengo puesto friend class THiloDebugger que se supone eso me daría acceso a las funciones privadas de la clase TDebugger desde la clase THiloDebugger ¿no? ¿entonces como lo hago?
Responder Con Cita
  #5  
Antiguo 28-03-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No puedes invocar una función no estática con el nombre de la clase, sino a través de un objeto, por muy amiga que sea otra clase.

Soluciona ese punto antes de buscar más errores.


Saludos.
Responder Con Cita
  #6  
Antiguo 28-03-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
y entonces ¿Tengo que crear un objeto de tipo TDebugger dentro del THiloDebugger? ¿O como se hace eso?
Responder Con Cita
  #7  
Antiguo 28-03-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Exacto.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problemas con hilos y remobjects Pascal Script. J.Slann Varios 4 19-11-2011 17:35:28
Problemas con acceso telefonico a redes e hilos ospaco69 OOP 0 08-08-2007 00:02:36
problemas con hilos (Thead) jmlifi Varios 2 20-03-2007 17:56:53
problemas con Hilos (Thread) jmlifi Varios 2 26-02-2007 15:29:21
Builder c++ 6 y los hilos javikanin C++ Builder 1 26-11-2004 14:49:10


La franja horaria es GMT +2. Ahora son las 16:12:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi