E2166 Unnamed arguments must precede named arguments in OLE Automation call (Delphi)

From RAD Studio
Jump to: navigation, search

Go Up to Error and Warning Messages (Delphi)

You have attempted to follow named OLE Automation arguments with unnamed arguments.

program Produce;

var
  ole : variant;

begin
  ole.dispatch(filename:='FrogEggs', 'Tapioca');
end.

The named argument, 'filename' must follow the unnamed argument in this OLE dispatch.

program Solve;

var
  ole : variant;

begin
  ole.dispatch('Tapioca', filename:='FrogEggs');
end.

This solution, reversing the parameters, is the most straightforward but it may not be appropriate for your situation. Another alternative would be to provide the unnamed parameter with a name.