Ver Mensaje Individual
  #3  
Antiguo 12-05-2023
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Hola Neftali, gracias por responder!!

Con el ejemplo tal y como tu lo has puesto, con el mismo nombre del procedimiento para ambas estructuras, entonces si se compila y ejecuta, pero me pasan varias cosas raras:
- si a las funciones les pongo para que muestre un mensaje e identificar el procedimiento que se esta ejecutando, siempre se ejecuta el proceso de la estructura B y nunca el de la estructura A.
- Si a las estructuras les meto datos, Y ambas estructura son idénticas, entonces los datos si los limpia en ambas, pero si a la estructura A le pongo otra variable por ejemplo un string para que no sean identicas, entonces la estructura A ya no la limpia.
Código Delphi [-]
procedure TArrayAHelper.Clear;
begin
  MessageDlg('TArrayAHelper.Clear', mtInformation, [mbOK], 0);
  ...
end;

{ TArrayBHelper }
procedure TArrayBHelper.Clear;
begin
  MessageDlg('TArrayBHelper.Clear', mtInformation, [mbOK], 0);
  ...
end;

Y si en los helpers a los procesos los llamo de distinta forma para cada estructura, entonces obtengo el mismo error inicial

Código Delphi [-]
  TArrayAHelper = record helper for TArrayA
    procedure ClearA;
  end;

  TArrayBHelper = record helper for TArrayB
    procedure ClearB;
  end;
el error entonces es:
[dcc32 Error] Unit2.pas(69): E2003 Undeclared identifier: 'ClearA'
Responder Con Cita