Warning: function result variable of a managed type does not seem to initialized : I am unfortunately required to use pascal for university to create programs, the task I have requires me to create two routines one of which reads in data from a terminal and the other outputs data to the terminal, and another two routines which utilize an array to loop through these two routines to perform them multiple times. The issue I am having is that the terminal crashes after one run though of the ReadComputer function instead of looping multiple times. the compiler is also providing me the following warning: "Warning: function result variable of a managed type does not seem to initialized" although after extensive research and due to the fact that no one uses pascal I cannot find a solution. Any help is much appreciated! :)

I have provided a copy of my code here for reference:

    program CompupterProgram;
    uses TerminalUserInput;
    type 
    	Computer = Record
    		id: integer;
    		manafacturer: String;
    		year: integer;
    		warranty: integer;
    	end;
    
    type Computers = Array of Computer;
    		
    function ReadComputer(): Computer;
    begin
    	ReadComputer.id := ReadInteger('PLease Enter Computer Id:');
    	ReadComputer.manafacturer := ReadString('PLease Enter Computer Manafacturer:');
    	ReadComputer.year := ReadInteger('PLease Enter Computer Year:');
    	ReadComputer.warranty := ReadInteger('PLease Enter Computer Warranty:');
    	result := ReadComputer;
    end;
    
    procedure WriteComputer(c: Computer);
    begin
    	WriteLn('Computer ID: ', c.id);
    	WriteLn('Computer Manafacturer ', c.manafacturer);
    	WriteLn('Computer Year ', c.year);
    	WriteLn('Computer Warranty ', c.warranty);
    	ReadLn();
    end;
    
    function ReadAllComputers(count: Integer): Computers;
    var i: Integer;
    begin
    	for i := 0 to count do
    	begin
    		ReadAllComputers[i] := ReadComputer();
    	end;
    result := ReadAllComputers;
    end;
    
    procedure WriteAllComputers(computerArray: Computers);
    var i: Integer;
    begin
    	for i:= 0 to (length(computerArray)) do
    	begin
    		WriteComputer(computerArray[i]);
    	end;
    end;
    
    procedure Main();
    var computers: Array of Computer;
    	index: Integer;
    begin
    	computers := ReadAllComputers(3);
    	WriteAllComputers(computers);
    end;
    
    begin
    Main();
    end.