Hi Ben,
    first sorry for answering late, I have seen your mail before, but the
tons of mails of Pharo got over it.

I will tell you the state of what I have and what maybe you will need. But,
before my plan is to improve this, but as with everything it is easier to
push it if I have some users.

- I have implemented a way of expressing FFI calls to COM objects, I have
solved all the problems of the Vtable and the different types. So it is
possible to create a wrapper for any of the COM objects. I have done so for
the objects used in the "reflective" API of COM.

- My idea is to use the reflective API to generate automatically the Pharo
Wrappers to the objects. This is nice, but if you need to use some known
objects you don't need all this transparency as using known instances can
be easily implemented.

- I have some examples using the IE COM object as it is a nice thing to
use, and also it uses many different things in the API (properties,
variant, optional parameters, etc). However, the support in the Variant
type is not full yet. You can receive and send variant type values, but
reading the different contents is not implemented (it has like 30 different
payloads in the type, I have only the basics).

I have to check what I have know, because I have been working a little
more, but I have to put it in Github and organize it a little. Now it is
working in Pharo 6 32Bits. My plan is to first migrate it to Pharo7 also (I
think it should be straight forward) and then implement it for 64 bits
(this part is possible that requires a big rewritting, as the API has some
changes from 32 to 64 bits).

In the next days I will try to make a couple of examples to show how to map
a known class. I remember that the reflective part now can query the
interface and perform dynamic calls but the way of interacting with it
should be improved.

I really will love to have somebody using it, so I will try to help you if
you (or other) has a use case. Usually having a use case is easy to move a
project.

Cheers,
Pablo

On Mon, Oct 30, 2017 at 6:11 PM, Ben Coman <b...@openinworld.com> wrote:

> Hi Pablo,
>
> At work I managed to remote control Internet Explorer with Excel VBA like
> this...
> [1] http://www.automateexcel.com/vba/automate-internet-explorer
>
> and went looking for how similar might be achieved from Pharo.  IIUC I
> discovered this would be done via Microsoft's Component Object Model, and
> then I bumped into your repo...
> [2] https://github.com/tesonep/pharo-com
>
> Could you advise the status and your plans for this?  Since I see its only
> a few months old I've probably stumbled onto it prematurely, but I see no
> documentation or tests to discover how to use it.  So I'll curious whether
> it makes something like [1] possible? And could you show how that would be
> done?
>
> cheers -ben
>
>
> P.S. For context, at work I automated IE since the intranet document
> management system (OpenText) does authentication via a javascript function
> in the browser, which doesn't compute with Microsoft's MSXML.DOMDocument
> component.  So I use IE to do the authentication and grab the raw XML from
> IE to then stuff it into MSXML.DOMDocument from which I pull the data I
> need.
>
> But I'd love to do it with Pharo instead (if I can get IT to white list it)
>
> cheers -ben
>



-- 
Pablo Tesone.
teso...@gmail.com

Reply via email to