Re: eucom help

new topic     » goto parent     » topic index » view thread      » older message » newer message

Matt Lewis wrote:
> 
> Although qedit.dll exposes the usual information that you'd expect to use
> with IDispatch (invoke), it doesn't appear to actually have an IDispatch
> interface exposed.  Comment out this line in your wrapper:
> }}}
<eucode>
> --MediaDet_disp = add_iid( MediaDet_clsid_ix, IDispatch)
> </eucode>
{{{

> and use the vtable directly (via com_interface() calls) and it should 
> work.


thanks for your reply.

when you wrote "use the vtable directly (via com_interface() calls)" you meant
call_interface() and call_interface_ptr()?

all these tries give me:
c:\euphoria\include\fptr.e:82 in procedure call_stdcall_proc()
A machine-level exception occurred during execution of this statement

try 1:
    Det = create_com_object (MediaDet_clsid_ix)
    detThis = get_obj_this (Det)    
    detVtbl = peek4u (detThis)
    bstr = alloc_bstr (video_fname)
    ? call_interface_ptr( detThis, detVtbl, MediaDet_p_Filename, {bstr})

try 2:
    Det = create_com_object (MediaDet_clsid_ix)
    bstr = alloc_bstr (video_fname)
    ok = call_interface( Det, IUnknown, MediaDet_p_Filename,
        {bstr} )

try 3:
    Det = create_com_object (MediaDet_clsid_ix)
    duh = query_interface( Det, IUnknown )
    if duh[1] = S_OK then
        iocs = duh[2]
        bstr = alloc_bstr (video_fname)
ok = call_interface_ptr( iocs, peek4u(iocs), MediaDet_p_Filename,
        {bstr})
        if ok != S_OK then
            ?1/0
        end if
    else
        ?1/0
    end if

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu