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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2012
Avatar de arrakshe
arrakshe arrakshe is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 7
Poder: 0
arrakshe Va por buen camino
Unhappy Ayuda con error ObjectLists<T> delphi 2010

Buenas, me disculpo si este tema no encaja aqui porque soy nuevo en este foro y tengo poco conocimiento con respecto a algunas cosas, mi problema es el siguiente, quiero utilizar un TObjectList para manipular objetos genéricos de otro unit algo similiar a un linkedList de c# o java, sin embargo he tenido dificultades debido a que me da este error " [DCC Error] BPrincipal.pas(64): E2003 Undeclared identifier: 'TObjectList<>' ", en cierta parte entiendo el error pero no tengo la mas minima idea de como solucionarlo, mi codigo esta en un form y es el siguiente, (agradeceria si me pudieran ayudar, el codigo es una modificacion del ejemplo que viene con la documentacion del rad studio 2010)

unit BPrincipal;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

type
{ Declaro el nuevo tipo de objeto generico }
TNewObject = class
private
a_nombre: String;
a_codigo: integer;

public
constructor Create( nombre: String; codigo : integer);
destructor Destroy(); override;

property nombre : string read a_nombre write a_nombre;
property codigo : integer read a_codigo write a_codigo;

end;

{ TNewObject }





var
Form1: TForm1;

implementation
constructor TNewObject.Create( nombre: String; codigo : integer);
begin
a_nombre := nombre;
a_codigo := codigo;

end;
destructor TNewObject.Destroy;
begin
{ muestra un mensaje anunciando que el objeto tal morira }
MessageDlg('el objeto con nombre "' + a_nombre + '" murio!', mtInformation, [mbOK], 0);
inherited;
end;


{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
List: TObjectList<TNewObject>;
Obj: TNewObject;


begin
{ Create a new List. }
List := TObjectList<TNewObject>.Create();

{ Set the OwnsObjects to true--the List will free them automatically. }
List.OwnsObjects := true;

{ Add some items to the List. }
List.Add(TNewObject.Create('One'));
List.Add(TNewObject.Create('Two'));

{ Add a new item, but keep the reference. }
Obj := TNewObject.Create('Three');
List.Add(Obj);

{
Remove an instance of the TNewObject class. Destructor
should be called, because you have set the OwnsObjects
to true.
}
List.Delete(0);
List.Extract(Obj);

{ Destroy the List completely--more message boxes will be shown. }
List.Free;


end;

end.



En donde esta de rojo y subrayado empiezan los errores, hay mas pero todos desencadenado por el 1 error, no se si sera que me falta algun uses o algo por el estilo, estoy seguro que debe ser algo mínimo pero no le puedo llegar a lo que sera, les agradezco sus opiniones.
Responder Con Cita
  #2  
Antiguo 23-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola arrakshe y bienvenido a Club Delphi

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Por favor cuando incluyas código en tus mensaje utiliza TAG's para darle más legibilidad. Una imágen que explica el uso:



Saludos y gracias por tu colaboración.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 23-05-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Según veo en el código que publicaste, no has puesto la referencia a la unidad Generics.Collections en la cláusula uses de la unidad. En esa unidad es donde se encuentra declarada la clase TObjectList<T>.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #4  
Antiguo 23-05-2012
Avatar de arrakshe
arrakshe arrakshe is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 7
Poder: 0
arrakshe Va por buen camino
Muchas gracias ya logre hacer que funcionara y si era lo de Generics.Collections yo lo habia intentado asi "Generics.Collections.TObjectList " y me daba error jeje hasta lo llegue a colocar como System.Generics.Collections.TObjectList y como Collections solo pero no funcionaba jeje, bueno les agradesco la pronta respuesta y me voy a leer la guia de estilo, hasta la proxima.
Responder Con Cita
Respuesta



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
Error Delphi 2010 CyberHacker Conexión con bases de datos 4 27-08-2013 18:26:43
Error al abrir proyecto .net de delphi 2005 en delphi 2010.. dunia_lv OOP 1 05-01-2012 18:06:04
Error al abrir proyecto .net de delphi 2005 en delphi 2010.. dunia_lv Varios 0 04-11-2011 17:57:26
Archivos Ayuda en Delphi 2010 CyberHacker Varios 2 12-04-2011 05:34:24
Ayuda con ClientDataset en Delphi 2010 Jad Conexión con bases de datos 6 23-08-2010 22:08:01


La franja horaria es GMT +2. Ahora son las 08:18:36.


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