Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [platform-swt-dev] Implementing IID_IDispatch from within Eclipse


What you are suggesting is that SWT should provide more facilities for implementing COM interfaces.  You should enter a feature request against Platform SWT or add to http://dev.eclipse.org/bugs/show_bug.cgi?id=8727 (although 8727 is a little bit too general to be effectively addressed).  As far as 2.0, ComObject is most likely the full extent of our support.  Other than IUnknown and IDispatch default implementations are there any other interfaces that you commonly implement?



"Lynn Monson" <lmonson@xxxxxxxxxxxx>
Sent by: platform-swt-dev-admin@xxxxxxxxxxx

10/04/2002 05:19 PM
Please respond to platform-swt-dev

       
        To:        "'Seymour Kellerman/Cambridge/IBM'" <seymour_kellerman@xxxxxxxxxx>, <platform-swt-dev@xxxxxxxxxxx>
        cc:        
        Subject:        RE: [platform-swt-dev] Implementing IID_IDispatch from within Eclipse


I was able to do this using the latest build of Eclipse.  The details are slightly different than the patch I suggested, but what's in place works fine.
 
The recipe is as follows:
 
COMObject thisIDisp = new COMObject( new int[]{2,0,0,1,3,5,8}) {
   public int method0(int[] args) {/*QueryInterface: details omitted*/);}
  public int method1(int[] args) {/*AddRef(): details omitted*/}
  public int method2(int[] args) {/*Release(): details omitted*/}
  public int method3(int[] args) {/*GetTypeInfoCount: details omitted*/ }
  public int method4(int[] args) {/*GetTypeInfo: details omitted*/ }
  public int method5(int[] args) {/*GetIDsOfNames: details omitted*/ }
  public int method6(int[] args) {/*Invoke: details omitted */}
 };
 IDispatch id = new IDispatch( thisIDispatch.getAddress() );

  Variant v = new Variand( id );
 
At that point, you have a Variant that can be passed to the APIs of IE.
 
Be aware that you have to write code to crack the parameters to the IDispatch methods.  This is not a simple feat for methods like "Invoke".  It would be very convenient if this were better supported ... perhaps something like a base class of IDispatchImpl.java as a peer to COMObject.java ?
 
 
-----Original Message-----
From: Seymour Kellerman/Cambridge/IBM [mailto:seymour_kellerman@xxxxxxxxxx]
Sent: Wednesday, April 10, 2002 3:56 PM
To: platform-swt-dev@xxxxxxxxxxx
Cc: lmonson@xxxxxxxxxxxx
Subject: Re: [platform-swt-dev] Implementing IID_IDispatch from within Eclipse


Folks,


I have exactly the same requirement as that requested by Lynn Monson (
http://dev.eclipse.org/mhonarc/lists/platform-swt-dev/msg00479.html)

"I need to install DHTML event handlers and 'behaviors' into elements of the IE DOM.  To do this, I need to generate, in Java, an implementation of IID_IDispatch, stuff it into a Variant, and pass the variant into IE by way of OleAutomation...."


Is there a resolution of this request?  Can you advise me how to proceed?


Thank you,

Seymour Kellerman
 
IBM Research

1 Rogers Street
Cambridge MA 02142
Seymour_Kellerman@xxxxxxxxxx

617 693-5412



Back to the top