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 list python-win32@python.org https://mail.python.org/mailman/listinfo/python-win32