Hi Mark, just to let you know. I found the root cause. I was trying to get
32bit version of interface and pywin32 export 64bit version(different GUID
and slightly different function signature)

Thank you for your help.

On Wed, Jul 31, 2024 at 5:08 PM Valentin Abrutski <v...@zaptest.com> wrote:

> Thank you Mark. I will try that. Appreciate
>
> ср, 31 июл. 2024 г., 17:01 Mark Hammond <mhamm...@skippinet.com.au>:
>
>> Sorry, I can't explain that - running pyscript.py should register things
>> and support for IActiveScriptParse is unconditional. You could try running
>> `pyscript.py --debug` which might print some debug stuff, or even add print
>> statements to client.py's QueryInterface function to make sure it's
>> actually being called. Also, executing
>> win32comext/axscript/test/testHost.py should try and exercise the engine.
>>
>> HTH,
>>
>> Mark
>> On 2024-07-31 9:14 a.m., Valentin Abrutski wrote:
>>
>> Hi Mark. Thank you for the idea.  And appreciate your help.
>>
>> I tried it. And to be sure that I'm doing it right. I've tried to use
>> this approach to get not only IActiveScriptParse, but also IActiveScript
>> Still the same issue. I can get IActiveScript. But when try to get
>> IActiveScriptParse I get error code: 0x80004002 (E_NOINTERFACE)
>>
>> I've double checked GUID of IActiveScriptParse which is used in
>> QuearyInterface and it looks correct:  BB1A2AE2-A4F9-11cf-8F20-00805F2CD064
>>
>> I'm thinking about is it possible that the way I registered Python Script
>> Engine is not correct? Is it possible that there are different way to do
>> that?
>> Just to remind you, I just run python pyscript.py
>>
>>
>> On Wed, Jul 31, 2024 at 12:58 AM Mark Hammond <mhamm...@skippinet.com.au>
>> wrote:
>>
>>>
>>> On 2024-07-30 4:29 p.m., Valentin Abrutski wrote:
>>>
>>> Hi Mark.
>>>
>>> I double checked what I did with my previous attempt. And still can't
>>> get success. Probably you can give me an idea of what I'm doing wrong.
>>>
>>> I am working on an application(.Net) which provides scripting
>>> capabilities via AcriveScript Engine. With the ability to debug script step
>>> by step and etc. And we provide a standard set of languages VBScript and
>>> JScript. And now we want to provide Python support.
>>>
>>> Obviously I need to add a new ActiveScript Engine for Python. to system
>>>
>>> What I did. I installed python and installed the pywin32 package.
>>> Then I found this script
>>> Python311\Lib\site-packages\win32comext\axscript\client\pyscript.py and run
>>> it :
>>> python pyscript.py
>>>
>>> Requesting elevation and retrying...
>>> Registered: Python
>>>
>>> After that, I go to my application code and do the same we already do
>>> for Standard JScript or VBScript engines.
>>> For example, import of COM JScript class  is defined
>>>     [ComImport, Guid("F414C260-6AC0-11CF-B6D1-00AA00BBBB58")]
>>>     public class JScript
>>>     {
>>>     }
>>>
>>> So I defined import class for Python using GUID from python class
>>> implementation
>>>     [ComImport, Guid("DF630910-1C1D-11d0-AE36-8C0F5E000000")]
>>>     public class PythonScript
>>>     {
>>>     }
>>>
>>> Then my expectation is that I can cast it to IAcriveScript and
>>> IActiveScripParse (like I do with standard languages)
>>>     _engine = new PythonScript();
>>>     _iap = _engine as IActiveScriptParse;
>>>     _ias = _engine as IActiveScript;
>>>
>>> But IActiveScriptParse still is null, IActiveScript - is good.
>>> I suppose that probably I did initialization in wrong way? or something
>>> like that?
>>>
>>> My best guess is that the "as" isn't working due to a lack of a typelib
>>> for the engine - but a QueryInterface(IID_IActiveScriptParse) on the
>>> IActiveScript interface should work.
>>>
>>> HTH,
>>>
>>> Mark
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Jul 30, 2024 at 10:54 PM Valentin Abrutski <v...@zaptest.com>
>>> wrote:
>>>
>>>> Hi Mark
>>>>
>>>> Appreciate for fast response. I will look into it. Thank you.
>>>>
>>>>
>>>> On Tue, Jul 30, 2024 at 5:56 PM Mark Hammond <mhamm...@skippinet.com.au>
>>>> wrote:
>>>>
>>>>> IActiveScriptParse is supported - check out the
>>>>> com/win32comext/axscript directory.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Mark
>>>>> On 2024-07-30 10:14 a.m., Valentin Abrutski wrote:
>>>>>
>>>>> Hello all,
>>>>>
>>>>> Hopefully somebody can help me.
>>>>>
>>>>> Microsoft provides implementations for Microsoft Scripting Engine -
>>>>> VbScript and JScript.
>>>>> I need to add Python Script Engine support. I see that pywin32 already
>>>>> has a component for that(COM object). But it exposes only the 
>>>>> IActiveScript
>>>>> interface. For my needs I also need  IActiveScriptParse interface.
>>>>>
>>>>> please advise me if pywin32 implements it also and I just missed
>>>>> something? or if you have an idea what to do to get.. I will appreciate 
>>>>> for
>>>>> your help.
>>>>>
>>>>> _______________________________________________
>>>>> python-win32 mailing 
>>>>> listpython-win32@python.orghttps://mail.python.org/mailman/listinfo/python-win32
>>>>>
>>>>>
>> _______________________________________________
>> python-win32 mailing 
>> listpython-win32@python.orghttps://mail.python.org/mailman/listinfo/python-win32
>>
>>
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to