TheFluffyOne has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to access the Lotus Sametime COM interface using Win32::OLE, and I'm having some trouble. My code is:
use Win32::OLE; use strict; my $sametime = Win32::OLE->new("STComTk.CommunityService") or CrashOut +("OLE object create failed"); $sametime->LoginByPassword("Server", "User", "password") or CrashOut(" +Unable to log in by password"); $sametime->DESTROY(); sub CrashOut { my $msg = shift; my $numerr = 0 + Win32::OLE->LastError(); my $strerr = Win32::OLE->LastError(); die "$msg\nError $numerr: $strerr\n"; }
When I run this, I get the error when the LoginByPassword method is attempted:
Error -2147319779: Win32::OLE(0.1601) error 0x8002801d: "Library not registered"I have checked using both the OLE Browser supplied with ActiveState Perl (5.8.1 b807), and OLEView from the Win2k Resource Kit, and the LoginByPassword method seems to exist.
A search of the web suggests that this error is caused by incomplete registry information, however the OLE Browser and OLEView seem to be able to find all of the info they need.
Question is, is this likely to be a problem with Perl's OLE/COM interface, or is it more likely that Lotus' COM object (STComTk) is messed up? Have posted this question to the SameTime forums, but they all seem to be Java/C++ people there.
I'd be grateful for any suggestions!
Thanks,
Gordon.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Using COM Objects from Perl
by VSarkiss (Monsignor) on Nov 21, 2003 at 17:15 UTC | |
by TheFluffyOne (Beadle) on Nov 21, 2003 at 18:21 UTC | |
by TheFluffyOne (Beadle) on Nov 21, 2003 at 18:58 UTC | |
|
Re: Using COM Objects from Perl
by diotalevi (Canon) on Nov 21, 2003 at 15:37 UTC | |
by TheFluffyOne (Beadle) on Nov 21, 2003 at 16:03 UTC | |
by diotalevi (Canon) on Nov 21, 2003 at 17:22 UTC |