Interface, Class, Object

Hi all,
In the following code: factory is an object of type: progress.message.jclient.ConnectionFactory
Then the method: createConnection() returns Connection: a newly created connection>
javax.jms: Interface Connection:
A Connection object is a client's active connection to its JMS provider.
When we create a new object, the return value should be an instance of a class and not an interface; right?
So shouldn't Connection be a Class and not an Interface?
Like the method: readLine() in java.io: Class BufferedReader, returns an object of type: java.lang: Class String and not interface: String.
Sorry for confusion, I guess I'm missing a point here...
Any help is greatly appreciated.
public class Chat implements javax.jms.MessageListener
private javax.jms.Connection connect = null;
private void chatter( String broker, String username, String password)
// factory is an object of type: progress.message.jclient.ConnectionFactory
javax.jms.ConnectionFactory factory;
            factory = (new progress.message.jclient.ConnectionFactory (broker));
            connect = factory.createConnection (username, password);
}

Ok, every object is an instance of a class.
It is an instance of exactly this class, and certainly also of it's super classes - through the feature of inheritance.
Now when you have a reference to an interface, it always references a concrete object of a certain class. This class implements the interface, so you can forget about it's concret identity and just handle it as just any object implementing that interface.
So an object can also be an instance of an interface - if its class implements it.
Did you get it so far? (sorry, if not, I am not a native speaker)
So the createConnection method has the return type javax.jms.Connection which means that it can return any object of any class implementing this Interface. It does not list the concrete class because the underlying implementation class of any JMX vendor should be transparent to your code.
You understand?
I hope i could make it a little clearer.
regards
Sven

Similar Messages

  • Use Interface of Class object

    Hi Experts,
    I want to use Interface of Class object. But I'dont know how I use it (declaration,call,create etc.)
    There are a lot of exam about using local interface. But I need from Global object.
    Class : CL_TPDA_DIFF_STRUC
    Interface: IF_TPDA_DIFF_SERVICE
    Best regards.

    Firstly ; Your advice book tells the "General OO".
    But I need "Only ABAP OO". The basic logic is the same. But syntax are different.
    If there is a book about ABAP OO and syntax You can advice to me.
    Secondly;
    My code is below.
    I created my interface success . But It give error at runtime. Error mesaage : 'Error during interprocess communication; Debugger will be closed . Message Number TPDA151'
    DATA l_ref_diff TYPE REF TO CL_TPDA_DIFF_STRUC.
    data : xyz  TYPE REF TO IF_TPDA_DIFF_SERVICE.
    data : p_var1 type TPDA_VAR_NAME,
              p_var2 type TPDA_VAR_NAME,
              lv_x type TPDA_DIFF_ATTR.
    data : l_it_value_diff TYPE TPDA_DIFF_VALUE_DIFF_IT,
              l_it_main_diff TYPE tpda_diff_main_diffs_it.
    p_var1 = 'CLIENTDATA1'.
    p_var2 = 'CLIENTDATA2'.
    lv_x-maxhits = 100.
    CREATE OBJECT l_ref_diff.
    xyz ?= l_ref_diff.
    xyz->init( ).
    xyz->DIFF( EXPORTING p_var1 = p_var1
                         p_var2 = p_var2
                         p_diff_attr = lv_x
               CHANGING p_it_value_diff_it = l_it_value_diff
                        p_it_main_diff_it  = l_it_main_diff ).
    Best Regards.

  • Cloneable interface extends Object Class ? T/F can anybody ?

    Can a Interface extend Class?
    If not so, then how come Cloneable Interface extends Objects Class.
    if so, how? can anybody help me out.

    Beats me how you made the jump to this example. Whats
    happening
    here is that when you initialize byte b with the
    integer literal 5, the compiler
    is smart enough to figure out that 5 is in the range
    of byte values,
    so it doesn't complain.I understand what is going on and I know it is somewhat of a stretch but it still feels the same to me.
    As you said, the compiler is smart enough to know that 5 will fit and does not complain; however, according to the JLS integer literals are ints.
    That makes the above example an exception to the casting rule similar to the casting exception between interfaces and Object. Although, the interface situation may very well be specified in the JSL - it might say that all interfaces are a descendent of Object (I can not remember - need to look).

  • Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1

    I am trying to build a component which has the ability to instantiate and execute
    an known EJB method on the fly.
    I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
    I know that the EJB I am trying to invoke is deployed and available on the server,
    as I can see it in the console, I also seen to have been able to get the remote
    interface of the object, my problem occurs when I try and access the class object
    so I can perform a create on the object and then execute my method
    The code I have written is below:
    private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
    throws Exception {
         String homeCreate = "create";
         Class []homeCreateParam = { };
         Object []homeCreateParamValues = {};           
    try {  
    //This call seems to work and doesn't throw an exception     
    Object home = pCtx.lookup(pJNDIName);
    //However this call throws a java.lang.ClassNotFoundException
    Class homeBean = Class.forName(pHomeBean);
    Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    } catch (NamingException ne) {             
    logStandardErrorMessage("The client was unable to lookup the EJBHome.
    Please make sure ");
    logStandardErrorMessage("that you have deployed the ejb with the JNDI
    name "+pJNDIName+" on the WebLogic server ");
    throw ne;
    } catch (Exception e) {
    logStandardErrorMessage(e.toString());
    throw e;     
    Any advice would be really appreciated, I'm fast running out of ideas, I suspect
    it has something to do with the class loader but I'm not sure how to resolve it
    Regards
    Jo Corless

    Hello Joanne,
    Congratulations! I'm very happy that you've managed to fix your problem. It's
    always essential to understand how to package applications when deploying on BEA
    WebLogic. Usually, by throwing everything into an EAR file solves just about all
    the class loader problems. :-) Let us know if you have any further problems that
    we can assist you with.
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Joanne Corless" <[email protected]> wrote:
    >
    >
    I've fixed it!!!!!!!!
    Thanks to everyone who gave me help!!!!
    The class loader was the culprit which is what I suspected all along.
    As soon
    as I put the 2 jar files I was using into an EAR file the problem went
    away!!!!!
    Thanks again
    Jo Corless
    "Ryan LeCompte" <[email protected]> wrote:
    Hello Joanne,
    As Mr. Woollen mentioned, I also believe it's a problem with the class
    loader.
    You need to be careful how you arrange your EJBs, because WebLogic has
    a specific
    method in which it loads classes in an EAR, JAR, and WAR file(s). Please
    refer
    to http://dev2dev.bea.com/articles/musser.jsp for more information about
    BEA WebLogic
    class loading mechanisms and caveats. Also, try printing out the various
    methods
    that are available on the object that was returned to you via reflection.
    For
    example, use the getMethods() method, which returns an array of Method
    objects
    that you can subsequently cycle through and print out the various method
    names.
    This way you can discover if the class found/returned to you is indeed
    the one
    you intend to locate.
    Hope this helps,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    Rob Woollen <[email protected]> wrote:
    I believe the issue is the home interface class for this EJB is not
    available in the class loader which is doing the reflection.
    If you do:
    getClass().getClassLoader().loadClass(homeInterfaceClassName)
    I suspect it will fail. Reflection still requires that the class be
    loadable.
    -- Rob
    Joanne Corless wrote:
    Hi Slava,
    If I make my code look like you describe below I get a compliationerror telling
    me that
    home.getMethod() is not recognised (no such method)
    If I change it slightly and use
    Method homeCreateMethod =
    home.getClass().getMethod(homeCreate,homeCreateParam);
    The code will compile OK but when executed it still throws a NoSuchMethodException
    Any ideas ?
    Thanks for your help so far
    Regards
    Jo Corless
    Your code should look like
    Object home = pCtx.lookup(pJNDIName);
    Method homeCreateMethod =
    home.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    Regards,
    Slava Imeshev
    "Joanne Corless" <[email protected]> wrote in message
    news:[email protected]...
    Hi Ryan,
    I also wanted to mention that if you do a "header search" in this
    particular
    newsgroup
    with the search query as "reflection", you will see many previousmessages
    regarding
    reflection and EJBs. I believe you could learn a lot from thedifficulties
    that
    others have faced and solved.I tried that and although there was a number of similar cases noneof them
    actually
    seem to fix my issue. Thanks for the suggestion though
    Are the EJBs that you are trying to access accessible via your
    system
    classpath?
    Try to avoid having them accessible via the main system classpath,and
    only bundle
    them in your appropriate EJB jar files (contained in an EAR file,for
    example).Maybe I should have laid the problem out a little clearer.
    I have a number of EJB's bundled up in a JAR file which is hot deployedto
    the
    server. Within this first JAR file is an EJB (SSB) component that
    needs
    to
    be
    able to invoke a known method on another EJB. This second EJB may
    or
    may
    not be
    within the first JAR file but it also will be hot deployed.
    The component trying to invoke the method on the 2nd EJB has to
    be
    able to
    create
    an instance of the 2nd EJB without actually knowing anything bar
    a
    JNDI
    Name which
    is passed in at runtime.
    I can get as far as doing the
    Object home = pCtx.lookup(pJNDIName);
    This returned a class with the name
    "com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
    Impl_WLStub"
    My problem seems to occur when I try and invoke the create method
    Method homeCreate = home.getClass().getMethod("create", new Class[0]);
    My code throws a java.lang.NoSuchMethodException at this point so
    I
    am
    unable
    to progress to the next step of :
    Object bean = homeCreate.invoke(home, null);
    So I can return the instantiated bean back to the calling client.
    Why am I getting the NoSuchMethodException, is is because I am gettinga
    stub
    back rather than the home interface and if so how do I get the truehome
    interface
    from the bean
    Thanks in advance
    Jo Corless

  • How to get a LabVIEW class object to expose an invoke-node method?

    Hi,
          I like the property/invoke-node "paradigm" used for interacting with "objects".  Can LabVIEW-class objects expose their properties and methods this way?  Can one or more LabVIEW-class objects be compiled into a library or "assembly" (or other distrubution format) that allows the property/invoke-node usage?
    I've looked at (but not completely understood) "Creating LabVIEW Classes".  Have also searched for related posts.
    The pic below shows an invoke node wired to a class with a Public VI "VAT.Status.Hello.vi".  I'd like to see VAT.Status.Hello show-up as a Method.  (I just tried "Select Method", and selected "VAT.Status.Hello.vi" but dialog's "OK" button stays greyed-out.)
    Cheers.
    Message Edited by tbd on 03-29-2007 03:15 PM
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
    Attachments:
    VATStat.JPG ‏54 KB

    Hi Aristos,
          Thanks for the reply!  It was a bit dissappointing, though.
    It appears the LabVIEW-class object will be moving away from (what seems to me) a convenient object-interface presented by the invoke-node/method paradigm - which allows us to interface with a large set of "objects" (.NET, ActiveX, LabVIEW GUI, VISA Resource, ?) in a similar manner and independent of the object's origin.  Being able to read the methods and parameters that appear in these nodes is also helpful for understanding diagram logic!
    I do like the option of dropping a friendly "VI looking" icon on the diagram, but perhaps an optional - even default - VI-icon representation for a class-object invoke-node is feasible - so the LabVIEW class-object could be the more generic object first, but with a traditional-G representation(?)
    Given the answer "We would like, someday, to support the property node"
    and "in the next version of LV, wiring the LV class to the property/invoke nodes will break the wire so we'll avoid confusion in the future",
    ... I guess you'll break the wire in the next version, but (perhaps) allow it again - if support of the property node is ever implemented?
    Regards.
    P.S. For the record, huge THANKS to whoever it was that straightened-out enumerated-types (somewhere) between LV4.1 and LV6.1.  Every time I add or remove an enumeration in a typedef, I silently give thanks to the bright and thoughtful soul(s) who made this valuable tool work so well!
    Hello. This is your friendly neighborhood R&D guy for LabVIEW classes.
    Regarding your request about property and invoke nodes as relates to LV classes....
    Short story: We would like, someday, to support the property node. We have no intention of ever supporting the invoke node.
    Long story: As we were creating LV classes, we had to evaluate the right programming interface for these things. We wanted LV classes to behave as new data types in LV. A developer should be able to create a LV class, then give it to someone who doesn't even know OO programming, and that second programmer could use the new data type without learning a lot of new concepts. From this principle, we held fast to the idea that the programming interface should be subVI calls whereever possible. The invoke node is really nothing more than a VI minus the icon. If you want, you can popup on any subvi node and uncheck the option "View as Icon". This will make the node display in a way that has the terminals listed as text, like the invoke node. So, at the end of the day, the invoke node is simply a subroutine call in LV that is language dependent, as opposed to the language independent iconography of LV generally.
    The property node is a slightly different story -- the functionality of a property node is actually different than an invoke node as its terminals are various subsets of the properties available, not a fixed list of parameters like the invoke node. The property node provides a nice interface for setting multiple properties in a block and only having to check a single error return. Very friendly. Our intent is to allow you to create a VI that has 5 terminals: object in, object out, error in, error out, and either a single input or a single output of your chosen type. VIs with this conpane could be marked as "properties" of the class and would show up when you wire the class wire to the property node. We would call the subVIs behind the scenes as needed to get/set the properties.
    This is on the longer term roadmap because it is "syntactic sugar" -- it sweetens the programming style, but it is not necessary to program effectively. You can get the same effect by writing those same VIs and stringing them along on a block diagram "railroad track" style. We'll probably get around to it in three or four versions of LV -- there are some major user requests that impact functionality that have to get done first.
    PS -- in the next version of LV, wiring the LV class to the property/invoke nodes will break the wire so we'll avoid confusion in the future of people thinking there's a way to use these nodes.
    Message Edited by Aristos Queue on 04-02-2007 09:56 AM
    Message Edited by tbd on 04-03-2007 12:39 PM
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)

  • What is the advantage of using IB to create XIBs/Class Objects over coding?

    Hi all,
    I hoping someone can provide me some pros and cons as to when I should use IB to create XIBs and/or class objects as opposed to directly coding them.
    For example, if I choose Apple's Template for creating a Navigation Based Application (cocoa touch), the project creates two NIB files - MainMenu and RootViewController.
    However looking at one of demo apps SimpleDrillDown, it does not have a RootViewController XIB and instead creates it via code.
    Another example from the same two apps is that the template generates a "Navigation Controller" class object in the Mainmenu.xib. SimpleDrillDown does not bother with this in the XIB, but uses code to generate the controller:
    - (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Create the navigation and view controllers
    RootViewController *rootViewController = [[RootViewController alloc] init];
    UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
    self.navigationController = aNavigationController;
    [aNavigationController release];
    [rootViewController release];
    // Configure and show the window
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    as opposed to the template which only needs this:
    - (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Configure and show the window
    // Navigation Controller is defined in MainWindow.xib
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    So what are the advantages of each approach. Why does apple suggest one approach and yet all its demos use another.
    Any thoughts, answers gratefully received.
    TIA, Michael.

    You can do whatever you're comfortable with, but most of the best Cocoa programmers--the ones on the Mac, I mean--recommend putting everything you can into Interface Builder.
    It's a little like the difference between writing a program to do a bunch of financial calculations and using a spreadsheet. Yeah, the program can do everything the spreadsheet can--and more besides--but you'll find it far easier to create, use and modify the spreadsheet.
    Interface Builder takes away a lot of completely meaningless choices ("What order should I create the objects in? How should I name the variables? How should I create their frames? What order should I set the attributes in?"), leaving you with an interface optimized for creating and arranging objects, and allowing your code to focus on what you really do need to think about--your application's logic.
    (By the way--part of the reason Apple's demos don't all use Interface Builder is that the very first SDK releases didn't have it. Back then, you had to create all your views programatically. Believe me, I have no wish to go back to setting autoresize masks manually. Now get off my lawn, whippersnapper.)

  • Interface mapping Object does not exist in runtime cache

    I am getting the following error after importing IR into our test system (PI7.0 SP10).
    Interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 does not exist in runtime cache Exception of class CX_XMS_SYSERR_MAPPING
    You want to execute interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 .     However,the data of this interface mapping is missing in the runtime cache. Activate the interface mapping in the Integration Repository.
    I cannot change the mapping and reactivate - as this cannot be changed.
    I have run SXI_Cache, Cleared SLD caches on IR and ID and run cacherefresh=full, but no luck!
    The mapping is there and I can test it in the IR.
    Any thoughts?

    I had this problem today, maybe this helps someone when searching about this (at least this is the first hit at a very big search engine when searching for interface mapping does not exist...)
    I have a RFC => PI => File scenario. I was aware that this would need to be asynchronous so I set up the message interface (service interface for PI > 7.0) as asynchronous inbound. This is the file receiver part of the interface.
    Hints on the error: Audit Log in message details of RWB showed a line like this: RFC adapter received sRFC for ZMY_FM from <sender SID>/<sender client>. Attempting to send message synchronously. This of course could not work as file is asynchronous by default.
    Bottom line however was, to make the call of the sender RFC asynchronous by using "in background task" like so:
    CALL FUNCTION 'ZMY_FM'
       IN BACKGROUND TASK
       DESTINATION 'PI_DEST'
       EXPORTING
         t_file = lt_file.
    COMMIT WORK.
    Don't forget the commit work here.
    Hope this helps.
    Cheers
    Jens

  • Dynamic creation of class objects?

    I have a requirement where in at runtime I would know the class name, method name, properties, interface..and coding lines to be put into a method?
    Can anyone suggest a way to create the consumable central class object with these details, activate it and without any manual intervention create this object in backend?

    From other thread...use SEO* package

  • Casting base class object to derived class object

    interface myinterface
         void fun1();
    class Base implements myinterface
         public void fun1()
    class Derived extends Base
    public class File1
         public myinterface fun()
              return (myinterface) new Base();
         public static void main(String args[])
              File1 obj = new File1();
              Derived dobj = (Derived)obj.fun();
    Giving the exception ClassCastException......
    Can't we convert from base class object to derived class.
    Can any one help me please...
    Thnaks in Advance
    Bharath kumar.

    When posting code, please use tags
    The object returned by File1.fun() is of type Base. You cannot cast an object to something it isn't - in this case, Base isn't Dervied. If you added some member variables to Derived, and the compiler allowed your cast from Base to Derived to succeed, where would these member variables come from?
    Also, you don't need the cast to myinterface in File1.fun()
    Also, normal Java coding conventions recommend naming classes and interfaces (in this case, myinterface) with leading capital letters, and camel-case caps throughout (e.g. MyInterface)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Class Object into Byte Array

    Is there a way to copy a class object into a byte array? If so, how?

    hi check out
    http://forum.java.sun.com/thread.jspa?threadID=562268&
    messageID=2766098This does not work in j2me. WriteObject does not exist, and there are no serialsation interfaces in j2me. So you'll have to do that on your own.
    look here: http://java.sun.com/developer/J2METechTips/2002/tt0226.html

  • New class object statically.

    I have a class Test. This class has a static method which has as its purpose to create a new Test object. I currently have something like this:
    public static Test getInstance() {
      return new Test();
    }I was wondering if it is possible to write this code in such a way that no explicit reference to Test was made... and, as the always important follow up question, if it is possible, whether it is wise to do so?

    I have an interface and several classes implementing
    that interface. Each of these classes has a static
    method that has a Hashtable as a parameter. When that
    static method is called, the method creates an object
    of the class it is in and then adds the object to the
    Hashtable (the key for this entry is retrieved from
    the class its from).
    The 'problem' is that I have to write each of those
    methods in each class myself, when all I really want
    is to do the exact same thing over and over again
    (with each of the classes), just with different class
    objects.it's not "the same exact thing" over and over, though, is it? you're instantiating different classes in different methods. are you doing this to keep track of instances? you could have a factory that uses reflection to instantiate classes, and add them to the correct Map, but it can be awkward

  • Understanding the use of interface class?

    Hello,
    This question referes to java servlets, but the questions is about java design.
    My wrox java server pages text, includes an example where some user data is posted to servlet.
    To process the data posted and store this, they created a interface class and another class AdminManager which implements the interface.
    In the servlet they create an object from the interface class, and call the AdminManager methods through the interface object.
    In the book this was the only example which used a interface. And I wondered if this design approach was often used, or should an interface normally be used if several classes would implement the interface.
    Thanks

    It depends. You might want to create an interface even if you only have a single implementation of that interface in mind, because you want to make it easy to create more implemenations later.
    Also keep in mind that not all implementations of an interface are strictly for production use. For example, you might want to define an interface, define an implementation of that interface for production use, but then also define a "mock" version of that interface for testing, prototyping, etc.
    Generally I feel that if you have a sufficiently complex set of types and relationships between those types, it makes a lot of sense to express those relationships purely as interfaces, on a high level. Then provide implemenations as a separate step in the programming process.

  • How to typecast Object Class object dynamically

    Hai every one
    i have a object of any particular class , but i don't know the variables in that class object. But i have string variable contains value of variables in that class object.
    So i use following method for get value of variables in that class object.
    class ObjectCLass
         Sub s=new Sub();
         public static void main(String[] args)
              ObjectCLass a=new ObjectCLass();
              try
                   System.out.println(*a.getClass().getDeclaredField("s").get(a)*);
              catch(Exception e)
                   System.out.println("Exception");
    class Sub
         int i=5;
         public void print()
              System.out.println("Hello World!");
    }Here the bolder line give Object class object. By using this Object class object i need access the variable i and method print(). So i need to cast Object class object into sub class
    so how can i typecast it
    i try with following methods , but i cant succeed
    1.(  *(a.getClass().getDeclaredField("s").get(a).getClass)*   a.getClass().getDeclaredField("s").get(a)   ).print() ;
    2.(  (Class.forName(�Sub�) ) a.getClass().getDeclaredField("s").get(a) ).print();Please any one one help me how to typecast it dynamically
    By
    Thiagu

    If you know you're going to invoke the "print" method on an object, then you also need to know the type of the class, or interface, which has that method.
    It seems what you are looking for is a tutorial on interfaces.
    http://java.sun.com/docs/books/tutorial/java/IandI/index.html
    In a nutshell, you can set up an interface which defines a "print" method, and create class(es) which implement that interface. Then as long as you have an object which implements that interface, but do not know the exact type of that object, you can simply cast it to the interface type and invoke the method.

  • Labview class objects

    In my lab we are working with a Photron Fastcam 512PCI. It is attached to a microscope and the image aquisition is run through LV. So far is has produced great results. However, there are some very time critical functions that need to be carried out at certain intervals in the VI. These functions are controlled with software provided by Photron, but we need LV to be able to access these functions. The software comes with an SDK with all the required DLLs. We have been attempting to use Call External Library nodes to access the required functions, but this is not working.
    From what I understand, the class definition in the DLL is a CCameraControl class. When the camera connects an object is created containing all of the camera parameters and functions. Using this, its member functions should be accessed by calling the constructor to create a class object for example called obj1. Then a function is called as such: obj1.GetManualTriggerPosition(position). Yet it does not appear that LV has integrated the concept of class. Is there any way to have LV call these functions?

    abriggs8 wrote:
    In my lab we are working with a Photron Fastcam 512PCI. It is attached to a microscope and the image aquisition is run through LV. So far is has produced great results. However, there are some very time critical functions that need to be carried out at certain intervals in the VI. These functions are controlled with software provided by Photron, but we need LV to be able to access these functions. The software comes with an SDK with all the required DLLs. We have been attempting to use Call External Library nodes to access the required functions, but this is not working.
    From what I understand, the class definition in the DLL is a CCameraControl class. When the camera connects an object is created containing all of the camera parameters and functions. Using this, its member functions should be accessed by calling the constructor to create a class object for example called obj1. Then a function is called as such: obj1.GetManualTriggerPosition(position). Yet it does not appear that LV has integrated the concept of class. Is there any way to have LV call these functions?
    Your best bet is to create an external wrapper DLL which translates the object oriented interface of your C++ DLL into a functional interface accessible by LabVIEWs Call Library Node. The reason LabVIEW doesn't have a direct Call Object Interface Node similar to the Call Library Node is because these interfaces are compiler dependant as far as the binary compatibility is concerned. So a C++ DLL created in Borland C is likely to be troublesome to be used in a Visual C application. In fact it is bascially impossible since the created link libraries are in different object format and can't be linked together anyhow.
    Another approach might be if your library exports its object oriented interface through Active X. Active X does among other things also norm the exact binary interface of an object and therefore allows LabVIEW to provide a common interface, which it has implemented since about version 5.1. I'm not a fan of Active X and never would recommend its use but if it is an option in your case you may try it out.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Abstract Classes & Interface Classes

    Dear members of the Sun Community
    My studies are progressing and just 1 period ago we started doing Object-Orinted Programming in Java and I must say I'm quite fond of it. It's become quite clear that OOP is an important aspect of Programming and just can't be missed. We've learned about Inheritance, Polymorfism, Mutators, Inspectors, Uses-Relationships and everything else however now I've come to the point where I got a problem:
    Up until now we have been using normal classes to work with in which you could create objects and in your main program create objects from that class however. We've just learned about Abstract and Interface classes. As far as I'm concerned I'm quite confused with both of them.
    If I am not mistaken (please correct me if I'm wrong) Abstract classes are classes from which you cannot create an object but is only used to make a subclass inherit everything from this superclass.
    I am not quite sure what Interface classes are as they just plain confuse me. Would anyone be so kind to maybe explain what all of this is ?
    Thanks a whole bunch
    Herazio

    Funny enough that already solved the question !
    Thank you so much for the quick reply ^^
    Herazio

Maybe you are looking for

  • Performance issue with Jdeveloper

    Hi Guys, I am experiencing strange performance issue with Jdeveloper 10.1.3.3.0.4157. There are many other threads regarding the performance issue in this forum, but the problem I have is a little bit different. I have two computers: one is Athlon 32

  • HELP NEeded in creating tis java program

    create a prompter appliation that prompts the user for two numbers. The first number is a minimum value, and the second is a maximum value. Prompter then prompts the user for a number between the minimum and maximum numbers entered. The user should b

  • How can I inform apple about my stolen Mac Book Pro?

    I want to inform apple about my stolen Macbook Pro so that if they try to register it we can trace the computer. But apparently there is no reporting system. Is there another solution, an adress to  write an e-mail?

  • Problem with e65 reinstall themes,please help...tx

    Please somme one if you knou: I install themes and i uninstall this themes and when i want to install same themes again it tell me:"cannot install theme". Please somme one knows what is the problem? Thanks a lot!

  • How do I install LR and PS Touch using cloud?

    I purchased the Cloud membership. Everything works great!! Except I do not see Lightroom in the cloud nor do I see how to get PS Touch to my Ipad. Any ideas?