Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-04-2013
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Exclamation Utilización de Generics.Collections

Hola hoy modifique una rutina que tiene como objetivo tomar el Nº de Tag de los edit visibles que tengo puestos dentro de un pagecontrol los guarda en un Array de enteros, luego se ordenan (Sort).... después se asigna estos valores a la propiedad Tag de los campos persistentes de Clientdataset que están en un datamodule y por ultimo se asigna los valores de los campos persistentes a los edit visibles de los page control de la ventana que tienen el asignado el mismo Nº de tag que los campos persistentes... Para el array utilice la la unit Generics.Collections que por los ejemplos que eh visto en internet solo se usa para aplicaciones de consola... el tema es que esto andada de maravilla, a no ser por un Access Violation que me esta dando al cerrar la aplicación.. creo que el motivo de esta violación debe ser la implementacion de esta Unit ya que antes de la modificación no salia este error y sale el este error solo cuando abro esta ventana, en las otras no utilizo esta rutina.

Cita:
---------------------------
Application Error
---------------------------
Exception EAccessViolation in module '@#&%'.exe at 00005DBE.

Access violation at address 00405DBE in module '@#&%.exe'. Read of address 8D726142.

---------------------------
Aceptar
---------------------------
Esta es mi rutina:

Código Delphi [-]
procedure TvfInforNoved.AsignaMinMax2(vDataModulo: TDataModule; vTag: integer);
var
  vI, vJ, vK: integer;
  ListaDeTags: TList;
begin
  vK := 0;
  ListaDeTags:= TList.Create;
  try

    for vI := 0 to JfPageControlOrdenRango.Tabs.Count - 1 do
      if JfPageControlOrdenRango.Tabs[vI].Visible then
        for vJ := 0 to JfPageControlOrdenRango.Tabs[vI].Page.ControlCount - 1 do
          if JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] is TJfEdit then
            if (JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] as TJfEdit).Visible then
              if (JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] as TJfEdit).Tag >= vTag then
                ListaDeTags.Add((JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] as TJfEdit).Tag);

    ListaDeTags.Sort;

    for vI := 0 to vDataModulo.ComponentCount - 1 do
      if vDataModulo.Components[vI] is TClientDataSet then
        if (vDataModulo.Components[vI] as TClientDataSet).Tag <> 0 then
          for vJ := 0 to (vDataModulo.Components[vI] as TClientDataSet).FieldCount - 1 do
          begin
            (vDataModulo.Components[vI] as TClientDataSet).Open;
            (vDataModulo.Components[vI] as TClientDataSet).Fields.Fields[vJ].Tag := ListaDeTags.Items[vK];
            Inc(vTag);
            Inc(vK);
          end;

    for vI := 0 to JfPageControlOrdenRango.Tabs.Count - 1 do
      if JfPageControlOrdenRango.Tabs[vI].Visible then
        for vJ := 0 to JfPageControlOrdenRango.Tabs[vI].Page.ControlCount - 1 do
          if JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] is TJfEdit then
            if (JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] as TJfEdit).Visible then
              for vK := 0 to vDataModulo.ComponentCount - 1 do
                if (vDataModulo.Components[vK] is TField) and (vDataModulo.Components[vK].tag = JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ].Tag) then
                begin
                 (JfPageControlOrdenRango.Tabs[vI].Page.Controls[vJ] as TJfEdit).Value := (vDataModulo.Components[vK] as TField).AsVariant;
                  Break;
                end;
  finally
    ListaDeTags.Free;
  end;
end;


Esta correcto utilizar Generics.Collections en una aplicación digamos de 'win' ya que esto tiene que se lo que me provoca el Acces Violation.
Gracias.
Responder Con Cita
 



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
Utilización de Uses Livey Varios 1 26-05-2011 00:20:17
Error con Generics.Colletion y Help Paulao Varios 0 07-03-2011 14:38:20
Experiencias con Metodos Anónimos y Generics gatosoft Debates 4 04-06-2010 17:33:08
Utilización del iif efelix MS SQL Server 11 22-01-2007 19:13:42
Utilización de InoSetup Tonio Varios 7 21-11-2004 09:48:39


La franja horaria es GMT +2. Ahora son las 02:55:15.


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