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

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




----- Original Message -----
From: "John Whittaker" <johncwhi@earthlink.net>
Newsgroups: comp.lang.dylan
Sent: Thursday, November 16, 2000 11:56 PM
Subject: how to set null <variant> args in OLE calls using FO Dylan


>
> 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;


Chris Double, thanks for the info.  I was a little impatient with this
process--and perhaps process is the key word.  Trying your suggestion, and
also just making a <variant*> and passing it, seems to work ok.  But I had
to wait at least a full minute before the Explorer process did its work.
Not sure whether this is because of something going on between the FO
interactor (which I was using to test this) and the COM plumbing, or not.
Regardless of that, I get what surely is one of the ugliest warning messages
I've seen when I call the Navigate function as shown above.  Here it is:

"Debug: Warning: Applying {<incremental-generic-function>:
pointer-value-setter} to
 {<simple-object-vector>: {<lpvariant>}, {<lpvariant>}},
 ambiguous method ordering of group {<pair>: {<keyword-method>: ???
(<c-pointer>, <c-statically-typed-pointer>)},
 {<keyword-method>: ??? (<object>, <lpvariant>)}} after successfully ordered
methods
{<pair>: {<keyword-method>: ??? (<c-pointer>, <lpvariant>)}, {<empty-list>:
size 0}}
was determined with arbitrary and capricious rules."

I placed a few carriage returns in this string just to make it display.
What does all that mean?  I don't want to be arbitrary or capricious, but
I'm not sure how to correct this problem.  What is the problem here?





Follow-Ups: References: