Lazarus

Other Languages => Spanish => Topic started by: RJH71 on November 03, 2019, 08:39:13 pm

Title: Error en Lista
Post by: RJH71 on November 03, 2019, 08:39:13 pm
Saludos amigos del foro, tengo un inconveniente, tengo instalado Lazarus Free Pascal 2.0.4 y estoy trabajando con Mysql, el problema esta en la foto que mando no se como arreglar el problema me podran ayudar por favor, gracias de antemano.
Title: Re: Error en Lista
Post by: lainz on November 03, 2019, 08:45:35 pm
Hola, estas seguro que "SubItems" esta inicializado?

...SubItems <> nil

También

Length(SubItems) > 0

SubItems.Count > 0

(alguna de las dos, dependiendo de que tipo sea)
Title: Re: Error en Lista
Post by: RJH71 on November 04, 2019, 04:45:46 am
Gracias por responder lainz, como hago para inicializar el ListView soy nuevo en esto, aun sigo estudiando por videos tutoriales.
quedo de ti y gracias.
Title: Re: Error en Lista
Post by: RJH71 on November 04, 2019, 07:25:31 am
me he dado cuenta de que cuando pierde el foco de una fila da error.
Title: Re: Error en Lista
Post by: lucamar on November 04, 2019, 12:41:32 pm
Eso es porque haces lo mismo tanto si Selected es Nil como si no; lo que causa la excepción es tratar de acceder a SubItems cuando Selected = Nil. Lo que deberías hacer en vez de eso es algo así como:

Code: Pascal  [Select][+][-]
  1. if Assigned(LVWkrWorker.Selected)
  2. and Assigned(LVWkrWorker.Selected.SubItems)
  3. and (LVWkrWorker.Selected.SubItems.Count >= 5) then
  4.   begin
  5.     { asigna los valores para SubItems }
  6.   end;

Eso asignará valores para sub-items sólo si hay algo seleccionado y tiene al menos cinco SubItems.

Lo que hagas en caso contrario depende de lo que necesites; por ejemplo, si hay menos de cinco subitems podrías usar SubItems.Add para crear los que falten, etc.
Title: Re: Error en Lista
Post by: RJH71 on November 06, 2019, 09:22:57 am
Gracias Lucamar quedo bien gracias.
TinyPortal © 2005-2018