[Info-vax] Fun: Object Pascal on VMS

Arne Vajhøj arne at vajhoej.dk
Mon Sep 2 11:35:16 EDT 2024


program demo(input, output);

{$include fpcjvm.inc}

type
   T1 = class(TObject)
     private
       m_f1 : integer;
       m_f2 : string;
     public
       constructor Create;
       constructor Create(f1 : integer; f2 : string);
       property F1 : integer read m_f1;
       property F2 : string read m_f2;
   end;

constructor T1.Create;

begin
   m_f1 := 0;
   m_f2 := '';
end;

constructor T1.Create(f1 : integer; f2 : string);

begin
   m_f1 := f1;
   m_f2 := f2;
end;

procedure dump(o : T1);

begin
    write('F1=');
    write(o.F1);
    write(',F2=');
    write(o.F2);
    writeln;
end;

var
    o1, o2 : T1;

begin
    o1 := T1.Create;
    dump(o1);
    o1.Free;
    o2 := T1.Create(123, 'ABC');
    dump(o2);
    o2.Free;
end.

On PC:

C:\Work\VMS\objectpascal>ppcjvm demo.pas
Free Pascal Compiler version 3.0.4 [2017/10/07] for jvm
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Java Virtual Machine
Compiling demo.pas
demo.pas(37,14) Warning: Implicit string type conversion from 
"ShortString" to "UnicodeString"
Assembling demo
Generated: .\T1.class
Generated: .\demo.class
Warning: Object system.class not found, Linking may fail !
63 lines compiled, 0.7 sec
2 warning(s) issued

C:\Work\VMS\objectpascal>jar cvf demo.jar demo.class T1.class
added manifest
adding: demo.class(in = 1179) (out= 668)(deflated 43%)
adding: T1.class(in = 1168) (out= 579)(deflated 50%)

On VMS:

$ java -cp demo.jar:fpcjvm.jar "demo"
F1=0,F2=
F1=123,F2=ABC

Arne



More information about the Info-vax mailing list