OK, I'm proceeding with the library that I mentioned (
http://disphelper.sourceforge.net/) and I got nice results. Pablo's package goes directly into the core of OLE/COM automation and it would be too hard to for me to study it and continue with it at this stage.��
An example below loads Word for Windows, makes it visible, creates a new document and writes some text:
| w |
COMEngineAlpha initializeCOM .
w := COMEngineAlpha createObjectByName: 'Word.Application'.
COMEngineAlpha callObject: w setProperty: '.Visible = %b' withInteger: 1.
COMEngineAlpha callObject: w method: '.Documents.Add'.
COMEngineAlpha callObject: w method: '.Selection.TypeText(%S)' withString: 'This is a message to appear in Word document.'.
COMEngineAlpha safeReleaseObject: w.
COMEngineAlpha uninitializeCOM.
However, I'd like to marshall a WideString through uFFI so that I won't loose UTF-8 support, of course the plain (String aString) signature doesn't work ("Cannot coerce arguments"). Is there anything I can do myself (i.e. without poking into Pharo virtual machine complexity) to solve this challenge?
Best wishes,
Tomaz
------ Original Message ------
Sent: 12. 09. 2019 12:07:34
Subject: Aw: Re: [Pharo-users] uFFI ExternalAddress challenges
Bye
T.
��
> We are interested in it

> If I recall well Pablo got one version somewhere.
��
Me too

��Unfortunately, I only have time for 'weekend' projects, and any help is appreciated

��
Regarding the uFFI calls, is it possible to pass Win32WideString in a similar fashion as a String - or where to look to implement that?
��
Best wishes,
Tomaz