What is wrong with the idl code generated by packager.exe?

Hello everybody,
I am trying to figure out what is wrong with the idl code generated by packager.exe. In the evaluation for the bug posted at http://developer.java.sun.com/developer/bugParade/bugs/4964563.html it says that the IDispatch interface is not exposed correctly and thus early binding of java objects is not possible using the current activex bridge implementation.
As I am no idl expert I have no idea what that means. However, I managed to dig out the idl code generated by packager.exe for the following example bean:
package test;
public class MyBean
     protected int value;
     public MyBean()
     public void setMyValue(int _value)
          value = _value;
     public int getMyValue()
          return value;
     public MyBean getSelfReference()
          return this;
}The corresponding idl code generated by packager.exe is
uuid(81B0BF63-2A55-11D8-A73E-000475EBF021),
version(1.0)
library MyBean
importlib("Stdole2.tlb");
dispinterface MyBeanSource;
dispinterface MyBeanDispatch;
uuid(81B0BF64-2A55-11D8-A73E-000475EBF021),
version(1.0)
dispinterface MyBeanSource {
properties:
methods:
uuid(81B0BF65-2A55-11D8-A73E-000475EBF021),
version(1.0)
dispinterface MyBeanDispatch {
properties:
[id(4097)]
int myValue;
methods:
[id(32768)]
VARIANT_BOOL equals(IDispatch* arg0);
[id(32769)]
IDispatch* getClass();
[id(32770)]
int getMyValue();
[id(32771)]
IDispatch* getSelfReference();
[id(32772)]
int hashCode();
[id(32773)]
void notify();
[id(32774)]
void notifyAll();
[id(32775)]
void setMyValue(int arg0);
[id(32776)]
BSTR toString();
[id(32779)]
VARIANT wait([optional] VARIANT var0, [optional] VARIANT var1);
uuid(81B0BF62-2A55-11D8-A73E-000475EBF021),
version(1.0)
coclass MyBean {
[default, source] dispinterface MyBeanSource;
[default] dispinterface MyBeanDispatch;
};Does anyone know what is wrong with this code and maybe how to fix the idl code? Generating the dll should then be easy (I already tried several variations of the idl code but as my idl knowledge is limited it didn't really do what I wanted).

Then the question is why it does work with visual controls (even if you set them to non-visible)?

Similar Messages

  • What's wrong with the following code?

    What's wrong with the following code?
    Circle cir1;
    double rad = cir1.radius

    The circle Object was never instantiated.
    In other words, you have set a declaring of a Circle, but it has not been created in memory yet.
    You will create it using the " = new Circle( PARAMETERS_HERE ); "
    Or some other method that returns a circle.

  • What's wrong with the code?

    public void run()
    try
    {     for(;;)
         mgr = (RTPManager)RTPManager.newInstance();
         mgr.addSessionListener(this);
         mgr.addReceiveStreamListener(this);
         try{  /*****port1 = port2 = 29261, which port is only used in here
         localAddr = new SessionAddress(InetAddress.getLocalHost(), port1);
         destAddr = new SessionAddress(ipAddr, port2);
         }catch(Exception e)
              System.out.println(e + " 4");
         try{
         mgr.initialize(localAddr);
         }catch(Exception e)
         System.out.println(e + " 5");
         //set buffer
         bc = (BufferControl)mgr.getControl("javax.media.control.BufferControl");
         if (bc != null)
         bc.setBufferLength(20);
         try{
              mgr.addTarget(destAddr);
         }catch(Exception e)
         System.out.println(e + " 2");
    catch(Exception e)
         System.out.println(e+ " 3");
    the error when i run the code is like that:
    javax.media.rtp.InvalidSessionAddressException: Can't open local data port: 29261
    5
    java.io.IOException: Address already in use: Cannot bind 2
    which means there is error in :
    mgr.initialize(localAddr);
    mgr.addTarget(destAddr);
    But i don't know what's wrong with the code,
    can any one help me?

    I do not find any problem using the same ports for local and destination address with several unicasts. My problems are others.
    But note that the error is even at constructing the localAddress, I mean before trying the destinationAddress. Thus the reason cannot be the former is already in use. In fact I think the later belongs to a remote hosts. Likely, it is trying to access the destinationAddress through the localAddress, but this has not been constructed properly.

  • Red highlight next to code in dreamweaver. What is wrong with the code and is it affecting the websi

    What is wrong with the code and is it affecting the website?

    Line 107 looks dodgy to me and it won't have any effect on your code.  However, it is a good idea to post a complete link to your CSS for us to see it in full and to validate it using external tools.  In fact, you could validate the CSS (and HTML) yourself..
    <http://jigsaw.w3.org/css-validator/>
    Good luck.

  • I'm trying to add the system date with a Label. What is wrong with the code

    import java.util.*;
    import javax.swing.*;
    public class CurrentDateApplet extends JApplet
         Calendar currentCalendar = Calendar.getInstance();
         JLabel dateLabel = new JLabel();
         JPanel mainPanel = new JPanel();
         int dayInteger = currentCalendar.get(Calendar.DATE);
         int monthInteger = currentCalendar.get(Calendar.MONTH)+1;
         int yearInteger = currentCalendar.get(Calendar.YEAR);
         public void init()
              mainPanel.add(dateLabel);
              setContentPane(mainPanel);
              dateLabel.append(currentCalendar.get(Calendar.HOUR) + currentCalendar.get
                        (Calendar.MINUTE);
    }

    As for what's wrong with the code, it would be easier if you said: it doesn't show the date (it does this instead), it doesn't compile (I get this message) etc.
    Anyway I'll assume you want to display the time in a label...
    dateLabel.append(currentCalendar.get(Calendar.HOUR) + currentCalendar.get
    (Calendar.MINUTE);This won't compile: the parentheses are mismatched, and there is simply no such thing as append(). So we could trydateLabel.setText("" + currentCalendar.get(Calendar.HOUR) + currentCalendar.get(Calendar.MINUTE));This wroks, but looks pretty nasty and it's not how you are supposed to format dates and times. Here's the unofficial party line, nicked from one of jverd's posts:
    Calculating Java dates: Take the time to learn how to create and use dates
    Formatting a Date Using a Custom Format
    Parsing a Date Using a Custom Format
    From those links you should be able to find those applicable to times like this: http://www.exampledepot.com/egs/java.text/FormatTime.html
    Using this approach you would end up with something like:import java.text.Format;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import javax.swing.JApplet;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    public class CurrentDateApplet extends JApplet
        private Date date;
        private JLabel timeLabel;
        private JPanel mainPanel;
        public void init()
            mainPanel = new JPanel();
            timeLabel = new JLabel();
            mainPanel.add(timeLabel);
            setContentPane(mainPanel);
            date = new Date();
            Format formatter = new SimpleDateFormat("HH:ss a");
            timeLabel.setText(formatter.format(date));
    }

  • What's wrong with this simple code?

    What's wrong with this simple code? Complier points out that
    1. a '{' is expected at line6;
    2. Statement expected at the line which PI is declared;
    3. Type expected at "System.out.println("Demostrating PI");"
    However, I can't figure out them. Please help. Thanks.
    Here is the code:
    import java.util.*;
    public class DebugTwo3
    // This class demonstrates some math methods
    public static void main(String args[])
              public static final double PI = 3.14159;
              double radius = 2.00;
              double area;
              double roundArea;
              System.out.println("Demonstrating PI");
              area = PI * radius * radius;
              System.out.println("area is " + area);
              roundArea = Math.round(area);
              System.out.println("Rounded area is " + roundArea);

    Change your code to this:
    import java.util.*;
    public class DebugTwo3
         public static final double PI = 3.14159;
         public static void main(String args[])
              double radius = 2.00;
              double area;
              double roundArea;
              System.out.println("Demonstrating PI");
              area = PI * radius * radius;
              System.out.println("area is " + area);
              roundArea = Math.round(area);
              System.out.println("Rounded area is " + roundArea);
    Klint

  • What is wrong with the loop?

    What is wrong with the loop? I am trying to make the loop with start to end dates. What is wrong with those codes that
    I made:
          Calendar startLoop = new GregorianCalendar(2003, Calendar.SEPTEMBER, 01);
          Date datessss = startLoop.getTime();
          Calendar endLoop = new GregorianCalendar(2003, Calendar.SEPTEMBER, 05);
          Date datesssss = endLoop.getTime();
          int result = 0;
          while (endLoop.after(startLoop){
               startLoop.add(Calendar.DATE, 1);
               Date dates5 = startLoop.getTime();
               System.out.println("New Date: " + dates5);
          }Because I got an error those:
    while (endLoop.after(startLoop)Anybody know what is wrong with it?

    In general you'll get better help if you paste in the exact, complete error message.
    In this case it's easy. Count your parentheses.

  • Does anybody know what is wrong with my java code?

    Does anybody know what is wrong with my java code?
    --------------------Configuration: <Default>--------------------
    stockApplet.java:47: cannot find symbol
    symbol : variable M_pointThread
    location: class StockApplet
    if (M_pointThread==null)
    ^
    stockApplet.java:49: cannot find symbol
    symbol : variable M_pointThread
    location: class StockApplet
    M_pointThread=new Thread(this);
    ^
    stockApplet.java:50: cannot find symbol
    symbol : variable M_pointThread
    location: class StockApplet
    THE CODE:
    import java.applet.*;
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    public class StockApplet extends java.applet.Applet implements Runnable
    int Move_Length=0,Move_Sum=0;
    String FileName,Name_Str,Content_Date;
    int SP[]=new int[2000];
    int KP[]=new int[2000];
    int JD[]=new int[2000];
    int JG[]=new int[2000];
    int Mid_Worth[]=new int[2000];
    String myDate[]=new String[2000];
    double CJL[]=new double[2000];
    double MaxCJL,MidCJL;
    Label label[]=new Label[10];
    int MaxWorth,MinWorth;
    int x_move0,x_move1,MaxLength=0;
    int x0,y0,X,Y,Record_Num;
    boolean Mouse_Move,Name_Change=true;
    int JX_Five1,JX_Five2,JX_Ten1,JX_Ten2;
    public void init()
    TextField text1=new TextField();
    Thread M_pointThread=null;
    setLayout(null);
    this.setBackground(Color.white);
    this.setForeground(Color.black);
    for(int i=1;i< 10;i++)
    label=new Label();
    this.add(label[i]);
    label[i].reshape(i*80-65,10,50,15);
    if(i==2){label[i].reshape(80,10,70,15);}
    if(i==7){label[i].reshape(510,10,80,15);}
    if(i >7){label[i].reshape((i-8)*490+45,380,70,15);}
    FileName="six";
    Name_Str="six";
    this.add(text1);
    text1.reshape(150,385,70,20);
    text1.getText();
    public void start()
    if (M_pointThread==null)
    M_pointThread=new Thread(this);
    M_pointThread.start();

    Welcome to the forum. I think that George123 has your problem and its solution well in hand. Follow his good advice and you will have solved this problem. One other thing though just for future reference. If you post your code, here, you are going to want someone to be able to read it easily. Please use code tags when posting next time and your code will be much easier on the eye. You can find out about them here:
    http://forum.java.sun.com/help.jspa?sec=formatting

  • What's wrong with the activation server? i just bought my ipad wifi celllular... and have a 3g cellular network connection... when i press the bottom to activate my ipad it says the activation server cannot be reached. what to do then?

    what's wrong with the activation server? i just bought my ipad wifi celllular... and have a 3g cellular network connection... when i press the bottom to activate my ipad it says the activation server cannot be reached. what to do then?

    Hey aries35,
    I found the following that goes over troubleshooting the same issue for the iPhone. I know you have an iPad, but the steps should still apply:
    Perform the following steps:
    Restart the iPhone.
    Try another means of reaching the activation server and attempt to activate.
    Try connecting to a known-good Wi-Fi network if you're unable to activate using a cellular data connection.
    Try connecting to iTunes if you're unable to activate using Wi-Fi.
    Restore the iPhone.
    If you receive an alert message when you attempt to activate your iPhone, try to place the iPhone in recovery mode and perform a restore. If you're still unable to complete the setup assistant due to an activation error, contact Apple for assistance.
    via: iPhone: Troubleshooting activation issues
    http://support.apple.com/kb/TS3424
    Cheers,
    Delgadoh

  • What's wrong with the itunes store UAE? i couldnt buy my favorite songs and movies because there's no "music" and "movies" category. please do something... thanks!

    what's wrong with the itunes store UAE? i couldnt buy my favorite songs and movies because there's no "music" and "movies" category. please do something... thanks!

    You are not addressing Apple here...
    This is a User to User forum...
    iTunes Store: Which types of items can I buy in my country?

  • What's wrong with the fan of my 15 inch retina mbp?

    what's wrong with the fan of my 15 inch retina mbp,when i play a big game like Batman ,the fans are so quiet and keep around 2000rpm,but the temperature of  cpu is up to 80 degrees.(by the way, i have reseted the SMC for many times,but it doesn't work)

    80 degrees F or 80 degrees C?

  • What's wrong with the wsdl

    We are trying to create a proxy from the following wsdl file and getting an error message: illegal syntax: API:Parameter BINDING has initial value
    The webservice that we are trying to consume is from TIBCO .
    Can someone please help me to find out what's wrong with the wsdl.
    <?xml version = "1.0" encoding = "UTF-8"?>
    <!--Created by TIBCO WSDL-->
    <wsdl:definitions name = "Untitled" targetNamespace = "http://xmlns.example.com/1268018884234/OperationImpl" xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns = "http://xmlns.example.com/1268018884234/OperationImpl" xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/" xmlns:xs = "http://www.w3.org/2001/XMLSchema">
         <wsdl:types/>
         <wsdl:service name = "TIBCO__ABAP">
              <wsdl:port binding = "tns:SOAPEventSourceBinding" name = "SOAPEventSource">
                   <soap:address location = "http://192.168.9.58:10001/TIBCO_ABAP"/>
              </wsdl:port>
         </wsdl:service>
         <wsdl:portType name = "PortType">
              <wsdl:operation name = "Operation">
                   <wsdl:input message = "tns:Input"/>
                   <wsdl:output message = "tns:Output"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name = "SOAPEventSourceBinding" type = "tns:PortType">
              <soap:binding style = "document" transport = "http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name = "Operation">
                   <soap:operation soapAction = "http://192.168.9.58:10001/TIBCO_ABAP" style = "document"/>
                   <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
                   <wsdl:output>
            <soap:body use="literal" />
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:message name = "Input">
              <wsdl:part name = "Param1" type = "xs:int"/>
              <wsdl:part name = "Param2" type = "xs:int"/>
         </wsdl:message>
         <wsdl:message name = "Output">
              <wsdl:part name = "Result" type = "xs:int"/>
         </wsdl:message>
    </wsdl:definitions>

    Léon Hoeneveld's response works for me.  You will need to download a tool that allows you to edit the WSDL and reorder the values. 
    I've used a freeware tool like notepad++  collapsed all the levels and opened up the <wsdl:definitions xmlns:wsdl... segment and reordered the subgroups beneath it accordingly.
    1. types
    2. message
    3. portType
    4. binding
    5. service
    Thanks again Léon!

  • What's wrong with the server?

    execute me ~what's wrong with the server? I can‘t use the command nohup any longer.Can somebody help me?
    root@shhis1new # nohup
    Segmentation Fault (core dumped)
    root@shhis1new # nohup ls
    Segmentation Fault (core dumped)
    root@shhis1new # nohup /opt/SUNWexplo/bin/explorer -w all &
    [1] 6871
    root@shhis1new #
    [1]+ Segmentation Fault (core dumped) nohup /opt/SUNWexplo/bin/explorer -w all
    root@shhis1new # uname -a
    SunOS shhis1new 5.9 Generic_122300-19 sun4u sparc SUNW,Netra-T12
    System Configuration: Sun Microsystems sun4u Sun Fire E2900
    System clock frequency: 150 MHZ
    Memory size: 49152 Megabytes
    Best Regards
    <email address removed by moderator>
    Edited by: 884082 on 2011-11-22 下午10:00

    Moderator Action:
    You email address has been removed from your post.
    You wouldn't want bad people to send you spam messages for the rest of your life, eh?
    Moderator Advice:
    If this is the same E2900 that you have mentioned in every one of your other forum posts, then it would seem you need to contact Technical Support and open a proper support request. These forums are NOT techsupport and that system seems so poorly configured that it needs deep analysis. Such investigation cannot be done by using an online forum.
    The immediate solution is to log on to the SC of that box and power it down, then boot it back up. At least it will be running after that.

  • What's wrong with the IOS5 download, it downloads and then after its finished it says server timed out, how do i sort this out

    What's wrong with the IOS5 download, it downloads and then after its finished it says server timed out, how do i sort this out?

    The Firefox versions which come with many Linux distros have the default Mozilla Firefox updater disabled and use the distros built-in updater.
    See this - http://linuxforums.org.uk/netbooks/install-firefox-6-on-an-acer-aspire-one-running-linpus-lite-linux/

  • All of my apple sets (iphone, ipad and computer) cannot connect the app store since yesterday, what's wrong with the app store?

    All of my apple sets (iphone, ipad and computer) cannot connect the app store since yesterday, what's wrong with the app store? do you know? or do you have have the same experience?

    I still have access.  Must be your phone or your internet connection.

Maybe you are looking for

  • CS5 Web Premium without Flash Builder Premium?

    So after spending an arm and a leg, you do not get a Flash Builder Premium with CS5 Web Premium but only Standard? This surprises me as I thought Adobe's greed is not as big as long term goals, promotion of Flash platform, being nice to users, especi

  • SAP Query  output  download to Excel

    Hi  All, Once I export/download  Query Output to Excel  the fields are not in the order of  Actul Query output <u><i><b>Char fields are treated as Key fields and displayed Left side.</b></i></u> As it is a SAP Query where to keep this kind of setting

  • Firefox CLOSES (no crash message) when websites with streaming video are loaded.

    Before it is suggested, I have fully updated the browser, and updating flash more times than I can count. In addition, this has been going on through many firefox updates, so it is not limited to just the recent update. I run Firefox on OSX Tiger, an

  • G31M3-F cpu/BIOS question

    I recently bought the G31M3-F board and from a separate source an Intel Core 2 Duo E8500.  What I failed to notice was this board supports the E8500 up to a stepping of C0 and the CPU I got is an E0.  The BIOS version on the board is an AMI 1.1.  I s

  • Startportal.bat doesn't startup server.

    Hi, I have downloaded the WLServer 6.1 sp1, WL Portal 4.0 and EBCC today. When I run startPortal.bat I get a license error : No such license. So I downloaded the license from WLportal page and did the following at command prompt. # backed up license.