[Prev][Next][Index][Thread]

how to set null <variant> args in OLE calls using FO Dylan



I'm trying to figure out how to control IExplorer from Dylan using OLE
Automation.  I have successfully created a separate Explorer process and can
set a few properties in IExplorer, etc.--the simple stuff.  I cannot figure
out how to Navigate however.   The problem I'm having is with null arguments
of the type <variant*> in FO Dylan.  The method signature looks like this:

  function IWebBrowser/Navigate (arg-URL :: <string>, /*optional*/
        arg-Flags :: <VARIANT*>, /*optional*/ arg-TargetFrameName ::
        <VARIANT*>, /*optional*/ arg-PostData :: <VARIANT*>, /*optional*/
        arg-Headers :: <VARIANT*>) => (), name: "Navigate", disp-id: 104;


I have tried calling this like this:

IWebBrowser2/Navigate($0, "www.yahoo.com", $2, $2, $2, $2);

where $0 is an instance of <iwebbrowser2>  and $2 is what I thought was a
null variant type object created thusly:

=> make( <variant*>);

$2 =  {<lpvariant>}

=> $2.vt-type := $vt-empty;


This doesn't work when the supposedly empty variant object is passed to the
function.  What is the correct way to do this?


TIA.


John Whittaker









Follow-Ups: