Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2013
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 18
NEG1414 Va por buen camino
Imposible.. no encuentro el error

Buenas..

LLevo varios dias intentando encontrar el porque de un error (el valor de una variable varia al inicializar una clase sin razon aparente).... y me es imposible ... He reducido a la minima expresion el codigo y que siga dando el problema para hacerlo mas comprensible.
Cita:
Class TClase1
{
private :
TStringList *Lista;
public :
TClase1();
{
Lista = new TStringList;
}
}


Class TClase2 (#Include "Clase1.h")
{
private:
TClase1 ClaseHija;
public:
TClase2()
{
struct ffblk ffblk; //Obiamente en el programa original se lee un archivo en esta version reducida solo incluyo esta linea
suficiente para hacer saltar el error
}

}

class TDatos
{
private:

struct SRegistro
{
bool a;
bool b;
unsigned short Num;
};

typedef SRegistro TRegistro

struct SArchivo
{
char Nombre [16];
TRegistro ListaRegistros [100];
};


typedef SArchivo TArchivo;

public:

typedef SArchivo TArch;
TDatos()
{
}

TDatos::Archivo *TDatos::LeerDatos()
{
TDatos A;
A.ListaRegistro[12].a = true
A.ListaRegistro[12].b = false;
A.ListaRegistro[12].Num = 0;

return &A
}


PROGRAMA PRINCIPAL

#Include Clase2
#Include Datos
......
.....
TDatos *BDatos = new TDatos();
TDatos::TArch LeLosDatos;
LeLosDatos = BDatos->LeerDatos();

TClase2 *ClaseSegunda = new TClase2()
Una vez Leidos, los datos obtenidos son los correctos

LeLosDatos.ListaRegistro[12].a = true
LeLosDatos.ListaRegistro[12].b = false;
LeLosDatos.ListaRegistro[12].Num = 0;

El problema surge cuando inicializo ClaseSegunda.. los Valores de LeLosDatos se modifican sin razon aparente.

He comprobado que:

- Si Elimino de Clase 1 el TStringList *Lista NO DA ERROR
- Si elimino de Clase1 en el Constructor struct ffblk ffblk NO DA ERROR
- Si en la estructura struct SArchivo de Tclase2 sustituyo TRegistro ListaRegistros [100];
por TRegistro ListaRegistros; NO DA ERROR

Supongo que es error al declarar punteros o estructuras que solapan posiciones de memoria pero no lo veo NECESITO AYUDA..

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
No Encuentro el Error del Trigger en FireBird 2.5 teletranx Firebird e Interbase 7 06-06-2011 22:03:25
No encuentro el error en esta sentencia Sql..... verito_83mdq SQL 13 14-01-2011 18:32:10
No Encuentro El Error En Este *.rc MON___ Varios 4 05-09-2007 13:50:28
Es imposible un lector de DVD???? gandalf_27 Varios 2 15-06-2006 16:07:40


La franja horaria es GMT +2. Ahora son las 09:46:39.


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