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 

Tablas dentro de una clase

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Tablas dentro de una clase Responder citando

hola amigos del foro
necesito crear una aplicacion 100% basadas en clases, y no tengo idea de como se hace, pues siempre lo hice en los eventos de la forma, botones, etc....

estoy haciendo algo asi como:

Código:
//---------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------class colegio
{
public:
    TTable *tabla;
    TDataSource *source;
    TDBGrid *grilla;

    colegio()
    {
       tabla->DatabaseName="'colegio'";
       tabla->TableName="'t1'";
       source->DataSet=tabla;
    grilla->Left = 72;
    grilla->Top = 96;
    grilla->Width = 320;
    grilla->Height = 120;
    grilla->DataSource = source;
    grilla->TabOrder = 0;
    grilla->TitleFont->Charset =DEFAULT_CHARSET;
    grilla->TitleFont->Color = clWindowText;
    grilla->TitleFont->Height = -11;
//    grilla->TitleFont->Name = "MS Sans Serif";
//    grilla->TitleFont->Style =[];
   }
};
//---------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
   colegio colegio1;
   }
//---------------------------------------------------------------------


esta bien lo que estoy haciendo?
(me arroja un error EAccessViolation)
alguien podria darme un ejemplo?
desde ya, muchas gracias.
Volver arriba
Mensaje    Asunto: Responder citando

Asi es.... el problema que tienes es que declaraste los objetos Tabla, Grilla y source, pero no los creaste en ningun momento, antes de usarlos tienes que crearlois primero, y en el constrcutor de la clase Colegio es donde puedes hacerlo pero antes de hacer uso de ellos, y claro esta en su respectivo destructor, destruir los objetos, te voy a poner el mismo ejemplo que coplocaste pero ya corredigo:

Código:

//---------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------class colegio
{
public:
    TTable *tabla;
    TDataSource *source;
    TDBGrid *grilla;

    colegio()
    {
       tabla = new TTable(this); //Aqui creas los 3 objetos que declaraste
       source = new TDataSource(this);
       grilla = new TDBGrid(this);
       tabla->DatabaseName="'colegio'";
       tabla->TableName="'t1'";
       source->DataSet=tabla;
    grilla->Left = 72;
    grilla->Top = 96;
    grilla->Width = 320;
    grilla->Height = 120;
    grilla->DataSource = source;
    grilla->TabOrder = 0;
    grilla->TitleFont->Charset =DEFAULT_CHARSET;
    grilla->TitleFont->Color = clWindowText;
    grilla->TitleFont->Height = -11;
//    grilla->TitleFont->Name = "MS Sans Serif";
//    grilla->TitleFont->Style =[];
   }
   ~colegio() //En el destructor, destruimos los objetos que creamos
      {
            delete grilla;
            delete source;
            delete tabla;
       }
};
//---------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
   colegio colegio1;
   }
//---------------------------------------------------------------------

_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
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.