Delphi Compiler Error
E2166 Unnamed arguments must precede named arguments in OLE Automation call
Reason for the Error & Solution
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.