the following delphi procedure what we are using.
procedure getclob();
var
templob : TLOBLocator;
tempSession : TOracleSession;
tempPackage : TOraclePackage;
begin
tempSession := TOracleSession.Create(Self);
tempSession.LogonDatabase := 'temp';
tempSession.LogonUsername := 'temp';
tempSession.LogonPassword := 'temp';
tempSession.Connected := True;
tempPackage := TOraclePackage.Create(Self);
tempPackage.PackageName := 'temptest';
tempPackage.CallProcedure('getclob',[]); // there are no IN or INOUT parameters. Only one OUT parameter p_returnclob of type CLOB
templob := TLOBLocator.Create(tempSession,otCLOB);
templob := tempPackage.GetParameter('p_retrunclob');
showmessage(templob.ToString);
end;

the following PL/SQL procedure what we are using under the package temptest.

procedure getclob( p_returnclob OUT CLOB) is
begin
p_returnclob := 'test';
end;