Instatiating a C++ class through JNI

I am trying to instantiate a C++ class from within my Java program using JNI. I want to instatiate the class once, and then call a function within the class a number of times, in which the results obtained from the previous time the function was run would be used the next time the function was run. By instantiating tha class, my hope is that the variable values would stay within the class, and therefore would not need to be passed.
It is not an option to pass the variable between the C++ and Java code, since I am working with matrices and JNI does not support passing matrices.
Thanks!

Here are some things to try:
1) Just keep a static reference to the class in your DLL. It shouldn't be considered a local reference as Java classes would be, but if it is, maybe you can keep it as a global reference, which is used to keep a reference to a Java class between JNI calls.
http://java.sun.com/docs/books/tutorial/native1.1/implementing/refs.html
2) You could also pass the entire class back and forth as a byte array and then cast it when necessary, but that's potentially a lot of data to pass around.

Similar Messages

  • Casting through JNI

    Hello everyone,
    I'm having myself a little problem. I hava a program in C++ which uses some Java classes through JNI. When i'm invoking a method on a class in Java i get back an object of some type A. But what i need in my C++ program is an object of type B so what i'm looking for is a mechanism to cast my jobject from type A to type B.
    Someone knows how to do this?
    Thanks in advance,
    Bram

    you might want to paste some source code examples in this case.
    you're java objects with be of the base jobject type in JNI/C++ - so you shouldn't need to cast. What method are you using in JNI to invoke?

  • Is JMF use hardware accelerated through JNI possible?

    Dear all:
    I try to use JMF decode MPEG-2 data, through VeXP which wrote in C.
    So I think we can call C library through JNI pass encoded MPEG-2 data to VeXP, use hardware decode encoded MPEG-2 data to YUV-format raw data then return it to JAVA.
    but JNI seem can't pass media raw data by call by reference...
    It should cause a lot of memory copy.
    How about it's feasibility?
    Have anyone give me some suggestion?
    Regards,
    white

    There's a few ways to do it, but I'd use a style sheet. So:
    1. Add this to the "creationComplete" Stage event:   sym.$("<link rel='stylesheet' type='text/css' href='styles.css'>").appendTo("#Stage");
    2. Create a style sheet (text file) in your project folder named "styles.css", and define a class:
    .force-webkit-acceleration {
         -webkit-transform: translate3d(0,0,0);
    3. Give your animated element the class "force-webkit-acceleration" in the properties panel (the little c-in-a-box icon next to the title field).
    Be sure that the style sheet file ends up in your "publish/web" folder too.

  • Getting HeapDump on out of memory error when executing method through JNI

    I have a C++ code that executes a method inside the jvm through the JNI.
    I have a memory leak in my java code that results an out of memory error, this exception is caught in my C++ code and as a result the heap dump is not created on the disk.
    I am running the jvm with
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=C:\x.hprof
    Any suggestions?
    Thanks

    I'll rephrase it then.
    I have a java class named PbsExecuter and one static method in it ExecuteCommand.
    I am calling this method through JNI (using CallStaticObjectMethod). sometimes this method causes the jvm to throw OutOfMemoryError and I would like to get a heap dump on the disk when this happens in order to locate my memory leak.
    I've started the jvm with JNI_CreateJavaVM and I've put two options inside the JavaVMInitArgs that is used to create the Jvm. -XX:+HeapDumpOnOutOfMemoryError and -XX:HeapDumpPath=C:\x.hprof
    which supposed to create a heap dump on the disk when OutOfMemoryError occurs.
    Normally if I would execute normal java code, when this exception would occur and I wouldn't catch it the Jvm would crash and the heap dump would be created on the disk.
    Since I need to handle errors in my C++ code I am use ExceptionOccured() and extracts the exception message from the exception it self and write it.
    For some reason when I execute this method through JNI it doesn't create the dump.

  • Trying to Load a BufferedImage from a PNG through JNI

    Yes I realize that I can load it directly through Java and not go through JNI, but I need this to test correctly as my C code will aquire images without saving to Disk and I want Java code to manipulate the images without saving to disk. The image Im trying to load is a 800x600 PNG image.
    So I have the code
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import javax.imageio.ImageIO;
    import javax.swing.*;
    import com.sun.media.jai.widget.DisplayJAI;
    class ImageLoader{
         static{
              System.loadLibrary("LoadImage");
         private static native byte[] loadImage();
         public static void main(String[] args){
    byte[] f = loadImage();
              InputStream s= new ByteArrayInputStream(f);
              BufferedImage bi;
              try {
                   bi = ImageIO.read(s);
                   displayBufferedImage(bi, "test");
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
          * Utility method for display a BufferedImage.<br>
          * @param  image input image
          * @param  title window title string
         public static void displayBufferedImage(BufferedImage image, String title)
              JFrame frame = new JFrame();
             frame.setTitle(title);
             //frame.getContentPane().add(new DisplayTwoSynchronizedImages(sourceImgBI, resultImgGray));
             frame.getContentPane().add(new JScrollPane(new DisplayJAI(image)));
             //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             //frame.pack();
             frame.setSize(300,300);
             frame.setLocationRelativeTo( null );
             frame.setVisible(true); // show the frame.
         }and I have the JNI c code as
    char* result;
    JNIEXPORT jbyteArray JNICALL Java_ImageLoader_loadImage
      (JNIEnv * env, jclass jclassj){
                   int fd = open("test.png",  O_RDWR, S_IRUSR|S_IWUSR );
                   int size = (800*600*4);
                   result = (char*)malloc(size);
                   read(fd, result, size);
                   jbyteArray return_result;
                   return_result = env->NewByteArray(800*600);
                   env->SetByteArrayRegion(return_result, 0, 800*600, (jbyte*)result);
                   //free(result);
                   return return_result;
         }but when I try to run the code I get the following error
    javax.imageio.IIOException: Error reading PNG image data
         at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1287)
         at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1552)
         at javax.imageio.ImageIO.read(ImageIO.java:1438)
         at javax.imageio.ImageIO.read(ImageIO.java:1342)
         at ImageLoader.main(ImageLoader.java:31)
    Caused by: java.io.EOFException: Unexpected end of ZLIB input stream
         at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:240)
         at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
         at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
         at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
         at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
         at java.io.DataInputStream.readFully(DataInputStream.java:195)
         at com.sun.imageio.plugins.png.PNGImageReader.decodePass(PNGImageReader.java:1084)
         at com.sun.imageio.plugins.png.PNGImageReader.decodeImage(PNGImageReader.java:1188)
         at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1280)
         ... 4 moreI think that Im on the right track because Java is recognizing that this is a PNG image, but Im not sure whats wrong. I don't know much about the formats, so I know nothing about PNG's, maybe someone else can help me here.
    Note: I ran the code
                   BufferedImage bi2 = ImageIO.read(new File("test.png"));
                   displayBufferedImage(bi2, "test2");and the image loads fine, so there is no issue with the image itself.

                   int fd = open("test.png", O_RDWR, S_IRUSR|S_IWUSR );Why are you opening the image file read/write? Why not read-only?
                   int size = (800*600*4);Here you're assuming the image is 800*600. Are you sure that's the case? Also you should write sizeof int here instead of 4.
                   result = (char*)malloc(size);Here you aren't checking for the possibility that result is null.
                   read(fd, result, size);Here you are ignoring the result returned by read(), so you are ignoring the possibilty that it was 0 or less than 'size'. Either are possible.
                   jbyteArray return_result;
                   return_result = env->NewByteArray(800*600);Here again you aren't testing for return_result == null.
                   env->SetByteArrayRegion(return_result, 0, 800*600, (jbyte*)result);Here you should be checking for Java exceptions. Also you shouldn't be repeating the 800*600 here, make it a constant or a variable somewhere.
                   //free(result);You need that free, otherwise you have a memory leak. If the image really is a constant 800*600 in size I would allocate 'result' on the stack so you don't need to housekeep it.
    Also you are never closing the input file!
    Caused by: java.io.EOFException: Unexpected end of ZLIB input streamSo clearly you didn't read all the image. That could be due to guessing wrong about 800*600 or getting a short read when reading the file.
    I think that Im on the right track because Java is recognizing that this is a PNG imageI agree. It starts like a PNG image, so you read something, but it doesn't end like one, so you didn't read it all.> and the image loads fine, so there is no issue with the image itself.
    Good test. Note that your Java code makes no assumption about the size of the image.

  • SetOut() through JNI ignored

    I'm trying to redirect System.out/err through JNI within
    a JNI application which allows running a java class as
    a service. Essentially I have the following two classes:
    class Service {
    void init() { ...
    void start() { ...
    class LogUtil {
    void setOut(String path) {
    System.setOut(new PrintStream
    (new FileOutputStream(path)));
    Now from JNI, i invoke first LogUtil.setOut() to redirect
    the stdout, then run the Service class itself. However,
    even though the redirection seems to work fine, the
    actual java stdout stream is not redirected. It is still
    being written to the console. However, if I call the
    method LogUtil.setOut() from within Service.init() (which
    is also being invoked through JNI), then all works ok.
    Any ideas how this could happen?
    Help greatly appreciated,
    roman

    I have the same problem, I get Java level output redirected ok but the printf's from the native side are not.
    What did you do differently?

  • How to create custom attributes & object classes through ldif files in OID

    Hi,
    I have to create 4 attributes and one object class(custom) in OID. I want to creae these attributes and object class through LDIF file.
    I tried creating an attribute through this command
    ldapadd -p 389 -h localhost -D cn=orcladmin -w password -f D:/newattr.ldif
    this ldif file contains inf. for creating a new attributes:
    dn: cn=subschemasubentry
    changetype: add
    add: attributetypes
    attributetypes: ( 1.2.3.4.5.6.10 NAME "xsUserType_new" DESC "User Type Definition" EQUALITY caseIgnoreMatch
    SYNTAX "1.3.6.1.4.1.1466.115.121.1.15" )
    I am getting error: Object class violation
    Failed to find add in mandatory or optional attribute list.
    Please help to find where I am going wrong...
    Thanks.

    Hi Ajay,
    Thank you for the help. Now i am able to create both attributes and object classes in OID through Ldif files.
    I was getting constraint violation error because (I think) I was not giving proper naming convection for attributes and object classes. For OID, there are certain Ldap naming conventions. They are as follows:
    # X below is the enterprise number assigned by IANA
    1.3.6.1.4.1.X.1 - assign to SNMP objects
    1.3.6.1.4.1.X.2 - assign to LDAP objects
    1.3.6.1.4.1.X.2.1 - assign to LDAP syntaxes
    1.3.6.1.4.1.X.2.2 - assign to LDAP matchingrules
    1.3.6.1.4.1.X.2.3 - assign to LDAP attributes
    1.3.6.1.4.1.X.2.4 - assign to LDAP objectclasses
    1.3.6.1.4.1.X.2.5 - assign to LDAP supported features
    1.3.6.1.4.1.X.2.9 - assign to LDAP protocol mechanisms
    1.3.6.1.4.1.X.2.10 - assign to LDAP controls
    1.3.6.1.4.1.X.2.11 - assign to LDAP extended operations
    By using these conventions for attributes and object class, I did got any error and they were created in OID.
    Thanks a zillion.
    Kalpana.

  • Korean characters, not handled through JNI

    Hello:
    I have a C library that is wrapped through JNI. The data is in Korean, and is returning fine in the C code, but then when I access the data through Java (JString), it is all messed up. Any ideas what is the problem?
    Thanks,
    [email protected]

    Adding on, here is the snippet code, where a command is passed in. The C code executes the command, and returns the result. The UTF and jstring string manipulations are shown below. What is wrong with the assumption if the data itself is of Korean language (double-byte enabled)? Any response would be greatly appreciated. Please respond to this message board, or email at [email protected]
    Thanks,
    Bilal
    JNIEXPORT jshort JNICALL
    Java_execCliCommand(
    JNIEnv *env, jobject obj, jstring cliCmd, jobject cliOutObj)
    jshort jresult;
    P_HANDLE cliOut = (P_HANDLE)NULL;
    char cliOutBuf = (char )NULL;
    jclass jcliOutClass;
    jfieldID joutbufID;
    jstring jcliOutStr;
    * Get the cli command & connectstring and execute the cli.
    const char cliCmdStr = (env)->GetStringUTFChars(env, cliCmd, 0);
    printf("CLI COMMAND : %s\n", (char *)cliCmdStr);
    jresult = cliRunServerCommand((char *)cliCmdStr, &cliOut);
    jcliOutClass = (*env)->GetObjectClass(env, cliOutObj);
    joutbufID = (*env)->GetFieldID(env, jcliOutClass, "outbuf", "Ljava/lang/String;");
    if ( cliOutBuf != NULL ) {
    printf("CLI RESULTS: %s\n", cliOutBuf);
    jcliOutStr = (*env)->NewString(env, (jchar *)cliOutBuf, (jsize)(p_strlen(cliOutBuf)+1));
    printf("UNICODE CLI RESULTS: %s\n", (char *)(*env)->GetStringChars(env, jcliOutStr,0));
    } else {
    jcliOutStr = (*env)->NewStringUTF(env, "Command executed successfully");
    (*env)->SetObjectField(env, cliOutObj, joutbufID, jcliOutStr);
    (*env)->ReleaseStringUTFChars(env, cliCmd, cliCmdStr);
    (*env)->ReleaseStringUTFChars(env, connectString, connectStr);
    return jresult;
    }

  • Can not locate Java class using JNI within C++ DLL

    I am using trying to use JNI to call a Java class from C++. The Java class uses JMS to send messages to a JMS message queue. At first I coded the C++ in a console application that created the JavaVM and used JNI to access the Java class. All worked fine. Then I called the Java class using JNI from threads and ran into the problem of the Java class not able to locate the JMS related classes. This was solved by placing the following line in the constructor of the Java class.
    Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader());
    Then I moved the JNI code from a console application to a DLL in specific an extension DLL that is called by SQL Server or Oracle server. The DLL will use JNI to call the Java class and send messages to a JMS message queue.
    The problem I am having now when the DLL code is called by SQL Server the call to
    JNI_CreateJavaVM
    appears to work correctly but the call to find the Java class using
    jvmEnv->FindClass(pName)
    fails. It appears the is a class loading problem which occurs due to the fact JNI is called from a DLL. When the VM is created I pass the class path information using the statement
    -Djava.class.path=
    And as I stated before it all works when running from a console application. I am new to JNI and really need help in the form of some sample code that will solve this problem. I believe I need to somehow load the classpath information from the DLL but I can not find examples on how to do this using JNI. I have tried several ways using URLClassLoader and getSystemClassLoader from JNI and either it does not work or it crashes very badly.
    I used the following code to determine what the existing class path is and the string returns empty.
    jcls = jvmEnv->FindClass("java/lang/System");
    jmid = jvmEnv->GetStaticMethodID(jcls, "getProperty", "(Ljava/lang/String;)Ljava/lang/String;");
    jstrClassPath = jvmEnv->NewStringUTF("java.class.path");
    jstr = (jstring)jvmEnv->CallStaticObjectMethod(jcls, jmid, jstrClassPath);
    m_jstr = (jstring)jvmEnv->NewGlobalRef(jstr);
    pstr = jvmEnv->GetStringUTFChars(m_jstr, 0);
    Can anyone please help with example code that will solve this problem. Thanks in advance for any help.
    Charles�

    I have determined the problem occurs when the application/component is compiled using VC 6.0. The test application was compiled using VC 7.1 and works correctly by locating the class path information. If the test application is compiled using VC 6.0 it has the same problem.
    The jvm.dll I am using is version 1.4.2.80. Currently this is not an option to compile all the applications that use JNI using VC 7.1 so can someone please tell me how to solve this problem.

  • Requirement class through the Controlling

    Hi experts,
    Can anyone let me know about the requirement class through the controlling area. Our client process is MTO 3rd party. I am looking for the following path...
    spro>controlling>prod.cost controlling>cost obj.control>prod cost by sales order>control of sales order>check req.class.
    under Account Assignment tab there is a acc.assign.cat., valuation, settlement profile, results analysis key fields, . What inputs should i give in these fields and pl tell me what it's control?
    Once sales order gets settled how it will reflect in the settlement profile? can you tell me brief about settlement profile.
    Looking forward your valuable inputs
    best reg
    anif

    My guess is that you're have an old class file of FramePrinciple that the compiler is finding.
    Try deleting your class files and recompiling.

  • Instantiating a custom class through a string

    I asked yesterday how to call a function from an XML file, and I figured out how to make that work using the string-to-function call.
    so in my XML file I have <ITEM CALLBACK="ContactsList">View All</ITEM>, and my TextMenu class parses the XML file and creates my navigatable text menu instance. When enterMenu():String is called, it looks to see if the CALLBACK attribute has a value, and if so it returns it as a String.
    so...
    var callbackFnc:String = textMenu.enterMenu();
    if(callbackFnc != null)
         //here's where my problem is
         var myClass:* = new [callbackFnc]();
    I want to create a new instance of the ContactsList class through my XML file by having CALLBACK="ContactsList" and then using the string "ContactsList" to instantiate this object and add it to the the display list (it extends Sprite).
    The code above currently invokes:
    TypeError: Error #1007: Instantiation attempted on a non-constructor.
        at com.cox::Contacts/::keyHandler()
    How could I use a string of the class name to instantiate and add an instance of that class to the stage?

    To create a class by is string name use this:
    var ClassReference : Class = getDefinitionByName( "STRING NAME OF THE CLASS" ) as Class;
        classInstance = new ClassReference();
    in your case:
    var ClassReference : Class = getDefinitionByName( "ContactsList" ) as Class
    var contactList: *   = new ClassReference();

  • Passing Image data through JNI?

    Hello,
    I am trying find the fastest way to pass image data from Java through JNI. Passing Java images through JNI seems to be a very common thing to do so I expect there's an oft-used approach. Can anyone give me a good explanation of this or point me to some references?
    I need to pass the image data to a C++ function which operates on this data, writing the results to a destination buffer which goes back to Java and gets put back into an image.
    Currently, I'm using BufferedImages and getRGB to get an int array from my source image, passing this through JNI along with another int array to be used as the destination buffer, then calling setRGB with my destination buffer after the JNI function returns. getRGB() preserves the alpha channel of png files, which is functionality I need. The problem with this approach is that getRGB is extremely slow. It can take up to two seconds with a large image on my 1.2 Ghz Athlon. It seems to be performing a copy of the entire source image's data. Maybe there is a way to decode a jpg or png directly into an int array?
    -Aaron Dwyer

    Here's how you could do it for TYPE_4BYTE_ABGR
    BufferedImage img=new BufferedImage(13,10,BufferedImage.TYPE_4BYTE_ABGR);
    img.setRGB(0,0,0xff0000);     
    img.setRGB(5,1,0x00ff00);        
    img.setRGB(1,1,0xcafebabe);
    DataBuffer db=img.getRaster().getDataBuffer();
    int dataType=db.getDataType();
    if (dataType!=DataBuffer.TYPE_BYTE)
         throw new IllegalStateException("I can do it only for TYPE_BYTE");
    int imgType=img.getType();
    if (imgType!=BufferedImage.TYPE_4BYTE_ABGR)
         throw new IllegalStateException("I can do it only for TYPE_4BYTE_ABGR");
    DataBufferByte dbi=(DataBufferByte)db;
    byte[] array=dbi.getData();
    SampleModel model=img.getSampleModel();
    if (!(model instanceof PixelInterleavedSampleModel))
         throw new IllegalStateException("I can do it only for PixelInterleavedSampleModel");
    PixelInterleavedSampleModel pisModel=(PixelInterleavedSampleModel)model;
    if (pisModel.getPixelStride()!=4)
         throw new IllegalStateException("I can do it only for pixel stride of 4");
    if (dbi.getNumBanks()!=1)
         throw new IllegalStateException("I can do it only for 1 band");
    int scanlineBytes=pisModel.getScanlineStride();
    // Access the green Pixel on Position 5,1
    System.out.println( (int)array[5*4 + scanlineBytes] &0xff);     // Alpha        
    System.out.println( (int)array[5*4+1 + scanlineBytes] &0xff);     // Red        
    System.out.println( (int)array[5*4+2 + scanlineBytes] &0xff);     // Green        
    System.out.println( (int)array[5*4+3 + scanlineBytes] &0xff);     // Blue     I've added some checks to make sure we're accessing the data the right way.

  • JSP  Call  C  Library  through  JNI  ?

    Hi experts :
    I has a jsp file which create a bean to call native c method.
    It still works fine after 10 to 14 times' page refresh, then
    it throws exception when call a native method.
    If I restart the Tomcat it works again ,but shuch situtation repeat again.
    Should I notice any issues when access native c library
    through JNI in jsp ?
    Environment:
    SPARC 64 Solaris 7
    Tomcat 4.0.4
    JDK 1.3.1-04

    hi CTSteven
    Did you find a solution for this JNI-Problem ? I think i have the same problem as you. Would be great to here from you.
    Thank you.
    Bye
    Lukas

  • Instantiate a Class through a constructor argument of another class.

    public function LevelManager(owner:Home)
                                  _owner = owner;
    In my LevelManager Class I have the above code in the constructor. Home is another Class which is not instantiated anywhere with the new keyword. It is merely a parameter in the constructor and then passed into the body and assigned to a local variable. I didn't know you could instantiate a class through a function parameter. Is that right???
    Cheers in advance.

    Well, I know Amy is big on design patterns and she is going to slap me but I am the guy who is not a big fun of DPs in regular Flash applications. I have many reasons to dislike them.
    I am not against DPs in principal. In collaborative environments (big teams) or in situations when software is developed for industrial consumption or as partially closed frameworks - it makes sense. Otherwise - they are just possible solutions and reference point at best. In Flash they frequently are major silly overkills. They are more of academic than practical value contrary to what people tend to believe.
    Design patterns are possible solutions that developers came up with heuristically base on the problems they needed to solve - not vice versa. Problems do not dictate design patterns.
    There is a strong tendency among DPs proponents and followers to make DPs self-fulfilling prophecies. Instead of conceptualizing of particular application needs developers often are searching for DP first and then try to squeeze logic into a particular or a group of several design patterns.
    If a person is taught that DPs is the only way to go - there is a great danger of killing creativity and the thought process.
    I strongly believe that what makes a star programmer is the ability to conceptualize the project, model it well and only then find coding solutions based on language capacities. And to question any suggestions in favor of current task efficiencies.
    By the same token, if your painting doesn't need color red - why use it? This is another thing that happens often - developers implement something that is actually not needed.
    Code is cheap! When project is well conceived and modeled - coding takes very little time. One ends up with his/her own "design pattern" that may or may not fall into one of DPs that is articulated already.
    Also, there is a great deal of activism around DPs that, as with any activism, forms an ideology that is full of misleading simplifications.
    First one is that OOP is equated to DPs usage. This is totally dangerously  untrue!!!
    Another one is you mentioned. Spaghetti coding is not the only alternative to design patterns. In other words, if one doesn't use DP - it absolutely doesn't mean person is engaged in spaghetti coding. And vice versa - DP does not shield program from spaghetti coding. I have seen DP warriors going crazy with spaghetti coding although DP was implemented to the tee.
    Another example of misconception is that DP proponents always carry banners of decoupling and modularization. Be very skeptical when someone gives you this shpeal. Modularization is easy to conceal for "propaganda" purposes and it is comfortable not to think about when DPs are used (especially MVC concept). Since this is just a concept - there are no real checks and balances.
    Decoupling, on the other hand, is not that easy to shove down someone's throat. Decoupling can be actually calculated - this is where a lot of idealistic beliefs that someone's code is well decoupled because of the DP fails miserably. Not because of DP itself but because of implementation. Well, sometimes pattern too.
    See, there is no black and white again.
    My point is that DPs do not protect anyone from any kind of challenges or mistakes as they don't make a better programmer. They can make one a disciplined follower but not a real creator (not that everyone must be the Creator).
    If not used properly DPs may be a ground for crappy inefficient un-scalable application as much as any other approach.
    And the last thing. I said that DPs are special suspects in Flash. This is because ActionScript and Flash are already limited frameworks that force us into thinking in MVC terms. This is just a nature of the beast. To attempt to warp it up into another MVC framework looks like a self-indulgent irrelevant academic activity to me.
    And I did not even mentioned practicalities of the target environments we develop our applications for.

  • Debugging Java code from c++ through JNI

    I have c++ application calling java methods through JNI. From c++ when I call the java method through JNI how do I debug the java code? It would be of great help if I get to know the settings that I need to do. I am using VC 6.0 for C++ and JBUIlder 8 for JAVA application.OS used is Windows 2000.

    Put
    _asm { int 3 } to C code in the proper place and start your java application. When C code reaches this debug break it shows a dialog to attach the debugger. Attach C debugger and debug Java and C codes.

Maybe you are looking for

  • After the last iTunes update, I lost EVERYTHING in my iTunes library (music, videos and podcasts). How do I get them back?

    iTunes was just updated on my Windows 7 and now I lost EVERYTHING in my music library. All of my music that I added and purchased, all my videos (TV shows) and all of my podcasts (some of them are older podcasts that I was saving to listen to for lat

  • Backing up my iPhoto library

    My iPhoto library contains about 10,000 images of plants and flowers and these have carefully been arranged into folders by genus and species. I would like to back-up this Library to an external hard drive and then delete many of the images to free u

  • Do I need to have WCS with WLC?

    Looking to upgrade my 802.11b setup of original AP4800e's and 340's. I've settled on the 1130, and I would like to get a WLC appliance, but do I need to get the WCS too?

  • Inconsistent SDO_RELATE results when querying 2.5D data

    Oracle 11.1.0.7 with Patch 8343061 on Windows Server 2003 32bit. I'm getting inconsistent results from SDO_RELATE results when querying 2.5D data. Some geometries I expect to be OVERLAPBDYDISJOINT, are not always being returned by SDO_RELATE when usi

  • Report on Parked document status

    Hello Experts, Is there a way to pull the report on status of a Parked document. Also, can we track a deleted parked document? Please advise! Regards, N All answers will be duly rewarded.