Saturday, August 28, 2010

Re: Spawning a new instance of Vim via OLE

On Aug 28, 2010, at 4:16 AM, Jeenu <groups@jeenuv.otherinbox.com> wrote:

>
>
> On May 7, 11:53 pm, David Fishburn <dfishburn....@gmail.com> wrote:
>> I was reading :hole-interface.
>>
>> Is there anyway to spawn a new instance of Vim viaOLE, through some
>> command (or anything)?OLEautomatically picks up the first already
>> running Vim instance which
>> supportsOLE.
>> If one is not running it spawns one.
>>
>> I was wanting to spawn a new one everytime.
>
> Wondering if there's been any changes to this with Vim 7.3. I'm too
> find it needy to spawn an individual instance every time. I find it a
> deadlock that server name can only be set at startup using --
> servername, and I can't pass anything to
> CreateObject("Vim.Application") (from VBA).
>
> Alternatively, is there any registry tweaks that I can do to get what
> I want? I'm not that familiar with Windows technologies, and maybe
> this is stupid: is there hack/procedure to get something like
> CreateObject("Vim.Application2") work so that the instance registers
> itself as a server, say "MyServer"?
>
>
I can't remember if I responded back on this thread.

I have everything working as I need it but this is how I did it.

From VB do the usual call. This will either spawn a new instance of
Vim or connect to an already running version.

My plugin, OutlookVim, creates a number of different public functions.
When I want VB to do something it calls a pulic function.

In Vim the public function checks if this Vim instance is the correct
one. If so, continues. If not uses Vim's built in remote_send()
function to send the command to the correct instance.

There is error checking all the way along.

This allowed me to do exactly what I wanted all via Vim with no
external hacks.

HTH,
Dave

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: