> -----Original Message-----
> From: Ludwig, Michael
> Subject: Win32::OLE - "Member not found" in PROPERTYPUTREF
> 
> I encountered an issue using MSXML from Win32::OLE.

>   perl createProcessor.pl
>   Win32::OLE(0.1709) error 0x80020003: "Mitglied nicht gefunden"
>     in PROPERTYPUTREF "input" at createProcessor.pl line 26
> 
> "Mitglied nicht gefunden" translates to "Member not found".

Hehe, I found the reason for this error.

>     $xslProc = $xslt->createProcessor();
>     $xslProc->{input} = $xmlDoc;

Quoted from the web:

  this looks like an indexed property.  The correct syntax
  to assign to them would be

    $COMComponent->LetProperty("Value", "Identity", $varUserStr);

  "Value" is the property name, "Identity" is the first (and only)
  argument to the property, and $varUserStr is the new value.

http://www.mail-archive.com/[email protected]/msg27982.html

So I tried the following and it worked:

  $xslProc->LetProperty( input => $xmlDoc );

Thanks, Jan!

> What could I do to track down the cause of the error?

Well, I could have re-read the fine Win32::OLE manual first! :-)

I haven't understood the underlying issue, though. Is it that JScript
handles different cases transparently that require different syntaxes
in Perl and Visual Basic? Pointers welcome.

-- 
Michael Ludwig
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to