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.