![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Error en TObjectList
Buenas tardes,
He creado un modulo para una aplicacion, en la que añado imagenes sobre otra que mas o menos hace de un plano. El nombre de la imagen, la posicion x, la posición y, están almacenadas en una tabla con una relacion maestro-detalle. A medida que yo me desplazo por cada registro, carga sus correspondiente images, las cuales las almaceno en un TObjectList, para poder eliminarlas, antes de pasar al siguiente registro, elimino las imagenes cargadas de la siguiente manera: -. Al crear el form BrandsLst := TObjectList.Create(True); -. Al pasar el siguiente registro: // Borrar imagens for I := Pred(BrandsLst.Count) downto 0 do BrandsLst.delete(I); // Crear imagenes with dsBrands.DataSet do begin if NOT(IsEmpty) then begin NUM := RecordCount; while NOT(Eof) do begin ID := FieldByName('id').Value; AName := FieldByName('name').Value; ALeft := FieldByName('x').Value; ATop := FieldByName('y').Value; // Cargar marcas BrandsLst.Add(CreateBrand(AName, pnlReview, ALeft, ATop, TypeBrand, ID)); // Siguiente Registro Next; end; end; end; -. Al cerrar el form BrandsLst.Free Si cierro el formulario me genera el siguiente error siempre que borre algun elemento del TObjectList(BrandsLst), si no funciona bien: raised exception class EArgumentOutOfRangeException with message "Argument out of range" Pueden ayudarme? Un saludo. |
#2
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
![]() Recuerda poner los tags al código fuente, ejemplo: ![]() Gracias ![]() Y no olvides poner títulos descriptivos a tus preguntas, gracias ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Hola sleep25000.
Para eliminar los elementos de la lista:
Al finalizar: Aunque faltaría ver el procedimiento CreateBrand para descartar otro motivo... Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
|||
|
|||
Error en TObjectList
Gracias por tu respueta, lo he probado y me sigue dando el error, incluso he borrado todos los registros de marcas, me muevo por los registros maestros y cierro el form, y todo bien, pero si vuelvo a entrar en el form me salta un error:
Al cambiar el id, realizo las siguientes operaciones:
Aquí cargo las marcas:
y al cerrar el form, hago lo siguiente desde el form que hereda:
Acabo de realizar una pruebas, he eliminado la siguiente sentencia del procedimiento Load_Brands, y de esta forma no me da ningún error:
|
#5
|
|||
|
|||
Hola...
La condición debería ser:
Ahora, por tu código, no veo la razón del por que te da el error mencionado. ¿Ya probaste haciendo un seguimiento línea a línea de tú código (Tecla F7)? Saludos... |
#6
|
|||
|
|||
Hola maeyanes,
He modificado el codigo a: Tal y como te indique, no tengo ningún registro en la tabla brands, no me muevo por los registros maestros, y cierro el form y todo bien, al abrir otra vez el formulario me da un error en ese mismo fragmento de código. Yo para liberar el BrandsLst, hago lo siguiente:
Este hereda de:
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Manual de TObjectList | santiago14 | Varios | 7 | 28-06-2012 20:08:19 |
tobjectlist | DarkBlue | Varios | 2 | 04-01-2012 15:27:31 |
TStringList y TObjectList | TinkerBell | OOP | 1 | 31-08-2005 14:00:06 |
TObjectList y TStringList | esquerda21 | Varios | 6 | 21-01-2004 15:16:58 |
TStringList en TObjectList | esquerda21 | Varios | 1 | 20-01-2004 09:38:41 |
![]() |
|