Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2008
ivanloco ivanloco is offline
Miembro
 
Registrado: abr 2006
Posts: 30
Poder: 0
ivanloco Va por buen camino
Problemas con la creacion de clases

El problema es el siguiente: tengo dos unidades, una llamada Cubos donde defino una clase "Cubo" y otra unidad llamada Fichas donde defino una clase "Ficha" la cual utiliza instancias de la clase Cubo. Todo compila bien pero en tiempo de ejecución al correr la sentencia Ficha.Create se produce el siguiente error en la primer línea del método constructor:
"Project Trabajo.exe raised exception class EAccessViolation with message 'Access violation at address 004505C6 in module 'Trabajo.exe'. Write of address 00000004'. Process stopped. Use Step or Run to continue."

Unidad Cubos:

Código:
Unit Cubos;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms,
  Dialogs, StdCtrls;

type Cubo = class
  public
  r: integer;
  g: integer;
  b: integer;
  despX: integer;
  despY: integer;
  triangulos: array [1..24] of triangulo;
  constructor Create;
  procedure setColor(rp:integer;gp:integer;bp:integer);
  procedure setDesp(desX: integer;desY: integer);
end;

constructor Cubo.Create;
begin
  r:=255;
  g:=255;
  b:=255;
  despX:= 0;
  despY:= 0;
end;
Unidad Fichas:

Código:
unit Fichas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Cubos;


type Ficha = class
 public
 cubos: array[1..4] of Cubo;
 desplaX: integer;
 desplaY: integer;
 constructor create;
end;

implementation

constructor Ficha.create;
begin
  cubos[1] := Cubo.Create; (en esta linea se produce el error)
  cubos[2] := Cubo.Create;
  cubos[3] := Cubo.Create;
  cubos[4] := Cubo.Create;
  cubos[1].setDesp(50,0);
  cubos[2].setDesp(0,50);
  cubos[3].setDesp(50,50);
  cubos[4].setDesp(100,50);
end;
Alguien sabe por que? Gracias
 



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 la creación de TTimer es tiempo de ejecución vejerf OOP 3 14-04-2008 16:26:14
Los ayudantes de clases (o clases ayudantes), ¿ya se gestaban en Delphi 7? Al González OOP 5 12-12-2007 09:03:52
Creación de un control menú. Problemas con estilo de ventana. abracadabra OOP 0 12-09-2007 01:13:50
Problemas con creacion de obj en ejecucion mbcito OOP 4 21-01-2005 18:18:12
problemas con clases y metodos rojito JAVA 1 03-10-2004 23:06:28


La franja horaria es GMT +2. Ahora son las 06:12:49.


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