Ver Mensaje Individual
  #16  
Antiguo 09-04-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
olbeup,

Cita:
Empezado por olbeup
...No puede declarar procedimiento o funciones dentro de un Record...
Es correcto , no se puede declarar procedimientos y funciones dentro de registros en Delphi 7.

Cita:
Empezado por olbeup
...sobre el enlaze Language and Compiler Features Since Delphi 7 que has puesto...a mi no me funciona y utilizo Delphi 7...
El enlace se refiere a nuevas características del lenguaje posteriores a Delphi 7 y por lo tanto no soportadas en Delphi 7, lo cual incluye more complex and "class-like" record types.

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TMathNum = record
    N1 : Double;
    N2 : Double;
    function SumNum : Double;
    procedure MsgNum;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TMathNum.SumNum : Double;
begin
   Result := N1 + N2;
end;

procedure TMathNum.MsgNum;
begin
   ShowMessage('Delphi 2010 supports more complex and "class-like" record types');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   M : TMathNum;
begin
   M.N1 := 3.14;
   M.N2 := 2.71;
   ShowMessage(FloatToStr(M.SumNum));
   M.MsgNum;
end;

end.
El código anterior compila en Delphi 2010 pero no en Delphi 7 por todo lo expuesto anteriormente.

Espero sea útil

Nelson.
Responder Con Cita