Bueno, el codigo tiene unos cuantos errores de sintaxis.
Si le lavabamos la cara un poco nos queda esto, que si compila en Delphi 7:
Código Delphi
[-]
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TUsuario = class
public
Nombre: String;
Apellidos: String;
Edad: Integer;
Socio: Boolean;
Codigo_Socio: Integer;
procedure Mostrar;
end;
procedure TUsuario.Mostrar;
begin
Writeln('Nombre: ', Nombre);
Writeln('Apellidos: ', Apellidos);
Writeln('Edad: ', Edad);
if Socio = True then
Write('Si')
else
Write('No es socio, ¡¡¡¡LADRON!!!! ');
Writeln('Socio: ', Socio);
Writeln('Codigo de Socio: ', Codigo_Socio);
end;
var
Geru: TUsuario;
begin
Geru := TUsuario.create;
Geru.Nombre := 'Geru';
Geru.Apellidos := 'García Blas';
Geru.Edad := 21;
Geru.Socio := True;
Geru.Codigo_Socio := 01;
Geru.Mostrar;
Geru.Free;
Readln;
end.
Por otro lado, el problema en freepascal puede que sea que las opciones del compilador no son correctas.