Command parameter direction for stored procedure

When I create a command in a daschema that’s based on an MS SQL stored procedure the parameter direction of an output parameter is set to InOut

In the stored procedure the parameter is specified as out however.
Is this a bug? How can this be avoided?

CREATE PROCEDURE [dbo].[Test] @NewPK int out
AS

GO

Hi,

I think, this is as designed by Microsoft.

even MS SQL Server Management Studio detects out parameter as input/output parameter:

from SQL Server output parameter issue - Stack Overflow :

The confusion is justified to a degree - and other RDBMS like Oracle do have stored procedure parameters which can be of type IN (input only), OUT (output only), or INOUT (both ways - “pass by reference” type of parameter).

SQL Server is a bit sloppy here since it labels the parameter as OUTPUT, but really, this means INPUT/OUTPUT - it basically just means that the stored proc has a chance of returning a value from its call in that parameter.

So yes - even though it’s called OUTPUT parameter, it’s really more of an INPUT/OUTPUT parameter, and those IN, INOUT, OUT like in Oracle do not exist in SQL Server (in T-SQL).

OK, thanks for the info
RemObjects complains in .NET that the input parameter is missing.
I’ll add the input parameter to the call.
Note: I believe delphi does not complain about the missing parameter