wa4otj has asked for the wisdom of the Perl Monks concerning the following question:
Now I'm trying to get started on my real application and am once again in need of understanding and enlightenment.
The problem is that the application I want to access is a non-Microsoft program from a third party and which doesn't provide a lot in the way of documentation. I have some VB examples, but I'm not having much success translating them to Perl.
I use OLE-Browser and see the library (HALiCnt) that contains the functions I want to access. I see the class (HALi) and Function {Function Init() As Boolean}. But the rub is that I don't know what the Application Name is. That is when creating the OLE Server Object:
my $server = WIn32::OLE->new('xxx.Application')
Nothing I can put in for the xxx seems to be right. I think what I am looking for here is the 'Root name' if I interpret some documentation I have seen correctly, so I guess the question is "How do I find the Root Name of an arbitrary server?"
I have also tried many different combinations of GetActiveObject as well as new to no avail. The usual error is something like "invalid Class String"
I have searched the tutorials in the Monastery, as well as CPAN and so on, but every tutorial seems to assume I want to control Excel, Word or some other such application.
Is there a good document on interfacing to an arbitrary application about which little is known? How about something on taking VB OLE examples and translating them to Perl. I know about arrows instead of dots and such, but not much more.
I fear I am going to be forced to learn VB and to write my application in VB unless the Monks can show me the way.
Thanks,
Nathan
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: More on OLE from Perl
by Mr. Muskrat (Canon) on Jun 13, 2004 at 18:31 UTC | |
by wa4otj (Beadle) on Jun 14, 2004 at 06:28 UTC | |
by Mr. Muskrat (Canon) on Jun 15, 2004 at 03:44 UTC | |
by wa4otj (Beadle) on Jun 13, 2004 at 22:55 UTC |