Thread overview
DWT OLE, embedding VIM
Feb 19, 2008
Bjoern
Feb 19, 2008
Frank Benoit
Feb 20, 2008
Bjoern
February 19, 2008
I want to embed VIM using OLE, No success at all :(, I also tried "Shell.Explorer" 'cause VIM is known as problematic, same result.
Maybe I miss some imports, Dunno, Hope someone is able to help;
Kind regards, Bjoern
oh, linking is done with subsystem:console:5, like helloworld stuff  ...

module dwtexamples.helloworld.hellovim;

import dwt.DWT;
import dwt.layout.FillLayout;
import dwt.widgets.Display;
import dwt.widgets.Shell;
import dwt.ole.win32.OLE;
import dwt.ole.win32.OleAutomation;
import dwt.ole.win32.OleControlSite;
//import dwt.ole.win32.OleClientSite;
import dwt.ole.win32.OleFrame;
import dwt.ole.win32.Variant;

/*
 * This example builds on HelloVim and demonstrates how to use OLE
 */
void main ()
{
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setSize(600, 400);
    shell.setLayout(new FillLayout());

    OleControlSite oleControlSite;

    OleFrame oleFrame = new OleFrame(shell, DWT.NONE);
    oleControlSite = new OleControlSite(oleFrame, DWT.NONE, "Vim.Application"); // "Shell.Explorer"
    oleControlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);

    shell.pack();
    shell.open();
    while (!shell.isDisposed ())
    {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}


// for unknown reason, there are linker errors. These imports are the workaround
import tango.io.Stdout;
import tango.math.Math;
import tango.text.convert.Format;
import tango.util.Convert;
import tango.util.PathUtil;
February 19, 2008
Bjoern schrieb:
> I want to embed VIM using OLE, No success at all :(, I also tried "Shell.Explorer" 'cause VIM is known as problematic, same result.
> Maybe I miss some imports, Dunno, Hope someone is able to help;
> Kind regards, Bjoern
> oh, linking is done with subsystem:console:5, like helloworld stuff  ...
the OLE is a lot of ported code, which is completely untested.
I would not expect it to run without problems. Unfortunately its not highest prio right now. First i want to get the basic widgets to work properly.
But if you want to give it a try in debugging, that would be apprechiated. If you need assistance, please contact me in #dwt.














February 20, 2008
Frank Benoit schrieb:
> Bjoern schrieb:
>> I want to embed VIM using OLE, No success at all :(, I also tried "Shell.Explorer" 'cause VIM is known as problematic, same result.
>> Maybe I miss some imports, Dunno, Hope someone is able to help;
>> Kind regards, Bjoern
>> oh, linking is done with subsystem:console:5, like helloworld stuff  ...
> the OLE is a lot of ported code, which is completely untested.
> I would not expect it to run without problems. Unfortunately its not highest prio right now. First i want to get the basic widgets to work properly.
> But if you want to give it a try in debugging, that would be apprechiated. If you need assistance, please contact me in #dwt.
> 

Okay, at least we know now that dwt.ole needs some attention :)

I am not able to do the debugging job due to lack of OLE know-how. Sorry.
During the week I have to do bread and butter programming.

Next weekend wrapping Scintilla is on my todo list. Most probabely I need some help regarding Event-Handling. (nessesary imports)
Bjoern