Perl Automation Client

1. Install Strawberry Perl(x64) from http://strawberryperl.com/
2. Check the Perl version in cmd by calling “perl -v”
3. If it is giving the response then Perl is installed properly.
4. Your 64-Bit Automation Server is working with other clients.
5. Now run Perl script like “perl AutomationClient.pl” or you can directly call “AutomationClient.pl” in cmd.

Note: You have to update the appropriate CLSID in script.

Reference: https://docstore.mik.ua/orelly/perl4/perlnut/ch23_01.htm

Download the program file from here: Perl Automation Client

Steps and Program By: Prashant Patel (WinDev 2020)


Ruby Automation Client

1. Install Ruby(x64) without Devkit from https://rubyinstaller.org/downloads/
2. Check the Ruby version in cmd by calling “ruby -v”
3. If it is giving the response then Ruby is installed properly.
4. Your 64-Bit Automation Server is working with other clients.
5. Now run Ruby script like “ruby AutomationClient.rb” or you can directly call “AutomationClient.rb” in cmd.

Note: You have to update the appropriate CLSID in the script.

Reference: https://ruby-doc.org/stdlib-2.5.1/libdoc/win32ole/rdoc/WIN32OLE.html

Download the program file from here: Ruby Automation Client

Steps and Program By: Prashant Patel (WinDev 2020)


Javascript Automation Client

 Run method:
1) Just open the html client page in Internet Explorer.
2) Accept the warnings given by IE and click on ‘Allow blocked contents
3) Provide two sample integer values in Num1 and Num2‘s text boxes
4) Click on ‘Call COM Method’ button and Click on ‘Yes’ if prompted by browser.
5) Check the output in message boxes prompted by IE.
 
I have tested it on Internet Explorer 11 , Windows 8.1 x64bit and 32bit COM Automation component(same which is used for Python Client). Only limitation of Java Script client is, it runs only on Internet Explorer.
Download : JavaScript Client
 
Steps and Program By : Jeevan Gaikwad (UNIX 2014, WinRT 2015, RTR 2017)

Automation Python Client(32bit) and more

I have written a python script to use our COM Component in Python. I learned basic Python syntax for our client. I have used Python 2.7.10(32bit) version on Windows 8.1(64bit). I have added the extension comtypes to Python installation which supports Python 32 bit. That’s why I had to create our 32bit Automation server component. This extension allows us to support COM components. I have tested the Python Script and working good. 🙂 Please find the attached script file.
It took 2 days to work around this and for Java script client(did not get success). I have also tried C client. It’s very good. I feel, it actually gives us a idea about how CPP’s class must be written in C(header file for C client is highly noteworthy) and also gives clear idea about virtual function table, its actual use via lpvtbl pointer.
As you said, C# does not use our IDispatch but directly calls those two methods via custom interface, I had put message boxes in the IDispatch’s functions and observed the same behavior. In case of VB client, it uses our IDispatch. In case of Python client, I observed that it is not using IDispatch but directly calls CoCreateInstance for our provided interface(here it’s IMyMath). It uses our registered type library. We can easily call QI in Python client to get desired interface pointer.

References:
1) Download Python 2.7.10(32bit)
2) Download comtypes extension
3) comtypes documentation
4) Python Client help on codeproject

Our sessions on why Java/.NET came and now why WinRT introduced, were really good. I enjoyed them and we got the clear idea “How should we start learning a technology and How it should be taught”. Thank you.

Note: Rename PythonClient to .py

Steps and Program By: Jeevan Gaikwad (UNIX 2014, WinRT 2015, RTR 2017)