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 12-05-2023
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Poder: 11
bucanero Va camino a la fama
Error al aplicar HELPER sobre varios TARRAY

Hola a todos!!

Me estoy encontrando con un problema al usar helper sobre ciertas estructuras de datos, y no se si es un error mío en la forma de aplicar los helpers, o un error de la versión de delphi, detallo el problema:

Con la siguiente estructura de datos y helper todo funciona correctamente y al pulsar el botón ejecuta su proceso sobre cada estructura de datos, y hasta aquí todo correcto:

Código Delphi [-]
type
  TDatoA = record
    A: integer;
  end;

  TDatoB = record
    B: integer;
  end;

  /// 1.)
  TArrayA = Array of TDatoA;
  TArrayB = Array of TDatoB;

  TArrayAHelper = record helper for TArrayA
    procedure Proces_A;
  end;

  TArrayBHelper = record helper for TArrayB
    procedure Proces_B;
  end;

procedure TForm2.Button1Click(Sender: TObject);
var
  A: TArrayA;
  B: TArrayB;
begin
  /// ...
  A.Proces_A;
  B.Proces_B;
end;

Pero si los array de datos en vez de estar definido como en la forma 1 los defino a través de la estructura TArray que internamente se supone que es identico:

Código:
   /// 2.)
   TArrayA = TArray<TDatoA>;
   TArrayB = TArray<TDatoB>;
entonces me aparece un error de compilador indicando:
[dcc32 Error] Unit2.pas(61): E2003 Undeclared identifier: 'Proces_A'

El error básicamente es similar a cuando a una estructura de datos se le pretende asignar varios helpers distintos, pero en este ejemplo concreto son dos estructuras de datos distintas.

La solución pasa por no usar TARRAY, pero ¿realmente es un error de uso de HELPERS? o ¿es un bugs de delphi?
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
String to TArray<T> elrayo76 Varios 9 29-06-2022 23:14:27
Función que retorne Tarray<T> movorack OOP 2 23-09-2021 15:30:39
HELPER: Insertar ProgressBar en LISTITEM bucanero Trucos 6 07-09-2018 08:19:28
crear HELPER juank1971 OOP 3 08-02-2018 20:57:17
me marca error al aplicar update Pascual Montes SQL 1 08-06-2005 18:20:50


La franja horaria es GMT +2. Ahora son las 14:01:51.


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