We have an OLE server we've developed with Delphi (C++ builder actually). It has some methods with optional parameters. The ones with explicit defaults are fine, but the Type Library Editor does not allow a default for object (pointer) parameters (presumably because it knows they should be NULL). These parameters are causing problems with Win32::OLE in perl.
Here are the Win32::OLE->LastError()s for a method with an optional 2nd parameter:
$OleObj->Method($strFirstArg) gives: Win32::OLE(0.1709) error 0x80020005: "Type mismatch" in METHOD/PROPERTYGET "ExportIntegrationByCells" argument 1 $OleObj->Method($strFirstArg, undef) gives: Win32::OLE(0.1709) error 0x80020005: "Type mismatch" in METHOD/PROPERTYGET "ExportIntegrationByCells" argument 2 $OleObj->Method($strFirstArg, {Parameter2Name => undef}) gives: Win32::OLE(0.1709) error 0x80020005: "Type mismatch" in METHOD/PROPERTYGET "ExportIntegrationByCells" argument "Paramet +er2Name"
The hideous VB script manages if I put a Nothing as the 2nd argument, surely Perl should do better ;-?
In reply to OLE optional parameter required by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |