CVI aborts with no warning when compiling

When I compile a simple instrument driver with the CTRL-K shortcut in CVI 2009 (9.1) it aborts CVI without warning
No popup, no nothing.
All I had done was delete a typedef in the driver file for a structure containing GPIB configuration info.
After it did it about 5 times in a row it finally stopped when I included a header file that re-established the typedef for the GPIB struct.
So the problem was that this typdef appeared as a parameter type in a prototype in another header file, and when I eliminated the definition it caused the abort. The abort was immediate, I have to think it was something wrong in the preprocessor.  I do not have precompiled headers checked in the build options.  I am using the standard CVI compiler. 
Weird, huh.
Menchar

Some how I knew you'd ask for that
I don't have a simple case. 
It was absolutley repeatable, I couldn't believe it when it first happened.
I had something like this in the driver file:
typedef struct _GPIBConfig {
  DWORDBus;
} GPIBCONFIG, * LPGPIBCONFIG;
and in a header file I had a prototype that used the typedef as a parameter type:
headerfile.h
INT myFunc (GPIBCONFIG config);
When I eliminated the typedef  from the driver file, I got the crash.
When I added another header that defined the GPIBCONFIG struct, the crashes stopped.
Restarting CVI did not cure the problem.  When I restarted, CVI did a popup saying the previous instance of CVI had been stopped abnormally.   I recovered the project per the popup.  Then when I restarted and recompiled, it crashed again, but when I restarted I didn't get the popup.
 Menchar

Similar Messages

  • -Xlint warning when compiling with command prompt.

    1 of the method i write in the program has a compilation warning when compiling with command prompt. When i compile the codes with the application i used to write the program has no error at all. Below is my code:
    private static ArrayList readNum(String NumFile)
    ArrayList key = new ArrayList();
    String keyAttributes = readInput(NumFile);
    StringTokenizer stk = new StringTokenizer(keyAttributes);
    while(stk.hasMoreTokens())
    key.add(stk.nextToken());
    return key;
    When i javac the program with -X;int, this errror occured:
    warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.ArrayList
    key.add(stk.nextToken());
    ^
    1 warning
    Anyidea how to solve this problem? Thanks for the help.

    A quick google for that message would have told you that you're not using generics and the compiler complains about that.
    Google for "Java Generics" to find out what all the fuss is about.

  • Strange warning when compiling for iOS, "PIE disabled", Is it safe to submit to the App Store?

    I get this warning when building:
    ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _llvm_unwind from AOTBuildOutput-0.o. To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie
    The app appears to be fine so far, and I haven't seen it mess up anything functionally yet, but am still testing.
    Edit: I am also curious as to what exactly this is. I think it is possibly related to an ANE that I NEED to use to work around a bug in AIR.

    I have never seen this warning cause any issues with the app so far.

  • I am running loadtest in local machine and the test was aborted with a warning message saying

    'Loadtest Aborted with Warning_"Method 'TestAgentDisconnected' in type 'Microsoft.VisualStudio.TestTools.WebStress.LoadTestControllerPlugin' from assembly 'Microsoft.VisualStudio.QualityTools.LoadTest, Version=11.0.0.0"'

    Hi d.mohanty,
    From the error message, I suggest you will need to ensure that you did not run load test remotely using test controller and test agent through checking your test setting Role tab->test execution method.
    And  please check the TimeOuts setting for load test in test setting file. I suggest that you could specify enough time for that load test.
    In addition, I suggest you try to create a new and simple web test or unit test, create a load test, add the web test  or unit test into the load test and then run the load test to check if the same issue will occur.
    (1)If you still get same error message, I assume that the issue maybe related to your VS IDE environment. So I suggest you could try the Amanda's suggestions check this issue from the following thread.
    https://social.msdn.microsoft.com/Forums/en-US/83151c3d-f5de-4cda-9efe-cbf780d7228c/loadtest-aborted-with-warningmethod-testagentdisconnected-in-type?forum=vstest
    (2)If you did not get same error message, I doubt the issue is more related to the specific load test. So please you try to run the load test on another machine to check if it can work fine.
    From this Amanda's suggestion to check whether you have both VS2012 and VS2010 installed on the same machine.
    If the above suggestion still could not help you, please tell me the latest message after you try all suggestions.
    Best Regards
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Warning - When Compiling .jsp pages under WEB-INF

    Created a directory jsp under WEB-INF and when i compile the jsp pages i get the following warning message
    Warning: package name web2d_inf._jsp does not match source file name C:\ProviderEnrollment\ProvEnrollView\classes\.jsps\_WEB_2d_INF\_jsp\_searchprovider.java
    Need help
    Thanks

    We have encountered this warning too.
    I'm not an Oracle employee, but it looks like there's a bug in JDev that preserves the case for the output directories but not for the package name that is supposed to correspond to the output directories.
    In any case, we haven't seen any runtime problems that seem to be related to this warning, so you may be safe to disregard it. It does foul up the build log though.
    Any JDev team members watching this topic are welcome to chime in with a confirmation and details of this apparent bug, as well as any workaround that might exist to avoid having the warning appear. Thanks!

  • Why I always got a warning when compiling

    this is a small test on how to use Vector, i know it may not necessary
    my problem is the compiler always warns me that
    warning
    ==============================
    Note: F:\SmallTest_Car.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    (how to apply -Xlint, when use jcreator 3.5?)
    Process completed.
    ==============================
    can you help me find out the very reason?
    this is my program
    =================
    class Car
         double dHoursParked;
         double dCharges;
         public Car(double dFrist, double dSecond)
              dHoursParked=dFrist;
              dCharges=dSecond;
    }//end class car-----------------
    import java.util.*;
    class SmallTest_Car
         public static void main(String args[])
              Vector carRecords=new Vector(5);
              carRecords.add(new Car(1.0,2.0));
         }//end main
    }//end class question1after catch Exception, also got warning
    =============
    import java.util.*;
    class SmallTest_Car
         public static void main(String args[])
              Vector carRecords=new Vector(5);
              try
                   carRecords.add(new Car(1.0,2.0));
              catch(Exception e){     }
         }//end main
    }//end class question1

    - ignore the warning as it is not an error.worst suggestion.Except there are cases where valid working code produces warnings of this type which cannot be avoided. In some cases you have to just ignore the warning.

  • Can anybody tell me the problem with this code when compiled in jdk1.4

    Can anybody help me find out the error in this code.
    Try to drag a file from your desktop and drop it on the first textpane on my GUI. Then try to drag another file. This time the dragdrop event handler throws a null pointer exception. This happened when I compiled the code with jdk1.4. With jdk1.3 it is working fine. Actually, I need jdk1.4 to get the systemicons for the files I drop on my desktop.
    /* Client.java*/
    import java.util.Vector;
    import java.util.Enumeration;
    import java.util.Arrays;
    import java.awt.*;
    import java.awt.event.*;
    import java.rmi.*;
    import java.rmi.server.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.filechooser.*;
    import java.io.*;
    import java.awt.dnd.*;
    import java.awt.datatransfer.*;
    import java.util.Iterator;
    import javax.swing.plaf.*;
    import javax.swing.plaf.basic.*;
    import java.util.Hashtable;
    import javax.swing.text.*;
    import javax.swing.event.*;
    public class Client extends JFrame{
    static String newline = System.getProperty("line.separator");
    static Client client;
         //ServerInterface server;
         //ClientProperties clp;
         Vector v1=new Vector();
         ByteArrayOutputStream out;
         Runtime r1;
         //file objects,together with array of bytes
         Hashtable files=new Hashtable(); //files sent
         Hashtable rfiles=new Hashtable(); //files received
         //file objects,together with button handlers
         Hashtable hfiles=new Hashtable(); //files sent,files received
         JButton button1=new JButton();
         JButton button2=new JButton();
         JButton button3=new JButton();
         JLabel label1=new JLabel();
         JLabel label2=new JLabel();
         JLabel label3=new JLabel();
         JLabel label4=new JLabel();
         JLabel label5=new JLabel();
         JLabel label6=new JLabel();
         JLabel label7=new JLabel();
         JLabel label8=new JLabel();
         JOptionPane dialog=new JOptionPane();
         JFileChooser chooser = new JFileChooser();
         JPanel panel1;
         JPanel panel2;
         DropTarget dtarget;
         DragSource dsource;
         JTextPane textArea1=new JTextPane();
         TextArea textArea2=new TextArea();
         JTextPane textpanel=new JTextPane();
         Style defstyle,style;
         StyledDocument doc,doc1;
         JPopupMenu popup;
         JTree tree;
         JScrollPane jsppane;
         JScrollPane jsp,jsp2;
         DefaultMutableTreeNode top;
         Container cp;
         private String toalias;
         private String togroup;
    private String fromalias;
         private String fromgroup;     
         private boolean CONNECT;
         public Client()
         cp=getContentPane();
         cp.setLayout(null);
              setForeground(java.awt.Color.red);
              setFont(new Font("Dialog", Font.PLAIN, 14));
              setVisible(false);
              label1.setText(" CHAT APPLICATION");
              cp.add(label1);
              label1.setFont(new Font("Dialog", Font.BOLD, 16));
              label1.setBounds(72,20,319,30);
              label2.setText("List of Users Connected.");
              cp.add(label2);
              label2.setForeground(java.awt.Color.blue);
              label2.setFont(new Font("Dialog", Font.BOLD, 12));
              label2.setBounds(24,60,192,26);
              label8.setBounds(280,60,100,26);
              cp.add(label8);
              cp.add(textArea2);
              textArea2.setBounds(204,120,268,90);
              jsppane=new JScrollPane(textArea1);
              doc1=textArea1.getStyledDocument();
              jsppane.setBounds(12,264,456,109);
              cp.add(jsppane);
              label3.setText("TO::");
              cp.add(label3);
              label3.setFont(new Font("Dialog", Font.BOLD, 12));
              label3.setBounds(12,228,36,20);
              cp.add(label4);
              label4.setBackground(java.awt.Color.lightGray);
              label4.setBounds(60,228,172,19);
              label5.setText("SERVER RESPONSE");
              cp.add(label5);
              label5.setFont(new Font("Dialog", Font.BOLD, 12));
              label5.setBounds(204,96,204,21);
              label7.setText("MESSAGE FOR YOU.");
              cp.add(label7);
              label7.setFont(new Font("Dialog", Font.BOLD, 14));
         label7.setBounds(12,371,288,25);
         jsp2=new JScrollPane(textpanel);
         setTextPaneStyle();
    jsp2.setBounds(12,401,456,109);
    cp.add(jsp2);
    button1.setLabel("Send");
              button1.setEnabled(false);
              cp.add(button1);
              button1.setBackground(java.awt.Color.lightGray);
              button1.setForeground(java.awt.Color.black);
              button1.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
              button1.setBounds(60,520,78,36);
              button2.setLabel("Attach");
              //button2.setEnabled(false);
              cp.add(button2);
              button2.setBackground(java.awt.Color.lightGray);
              button2.setForeground(java.awt.Color.black);
              button2.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
              button2.setBounds(180,520,72,36);
              button3.setLabel("Connect");
              cp.add(button3);
              button3.setBackground(java.awt.Color.lightGray);
              button3.setForeground(java.awt.Color.black);
              button3.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
              button3.setBounds(288,520,72,33);
              setSize(500,620);
         show();
         addWindowListener(new WindowEventHandler());
         button1.addActionListener(new ButtonHandler());     
         button2.addActionListener(new ButtonHandler());     
         button3.addActionListener(new ButtonHandler());
         textArea1.addContainerListener(new ComponentHandler());     
         dtarget=new DropTarget(textArea1,new DragDropHandler());
         textArea2.setEnabled(false);
         textpanel.setEnabled(false);
         r1=Runtime.getRuntime();
         r1.addShutdownHook(new onshutdown());
         addMenu();
         cp.repaint();
         //adds attachments to the textArea1     
         synchronized private void addAttach(java.util.List fileList)
         Iterator iterator=fileList.iterator();
         JButton bw;
         while(iterator.hasNext())
              File file=(File)iterator.next();
              Icon icon=chooser.getIcon(file);
              bw=new JButton(icon);
              bw.setBackground(java.awt.Color.gray);
              bw.setToolTipText(file.getAbsolutePath());
              bw.addMouseListener(new AttachmentHandler());
              Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
              bw.setMaximumSize(d1);
              hfiles.put(bw,file);          
              textArea1.insertComponent(bw);
              textArea1.setCaretPosition(doc1.getLength());
              bw.setSize(icon.getIconWidth(),icon.getIconHeight());
              //only one file at a time
              break;
         cp.repaint();
    public void setAudioStream(ByteArrayOutputStream out)
    this.out=out;               
    private void addMenu()
         JMenuBar mbar=new JMenuBar();
         mbar.setVisible(true);
         mbar.setBounds(0,0,500,20);
         mbar.setBackground(java.awt.Color.gray);
         //first menu
         JMenu m1=new JMenu("Connection");
         m1.setBounds(0,0,80,20);
         m1.setBackground(java.awt.Color.gray);
         JMenuItem mitem1=new JMenuItem("Connect");
         JMenuItem mitem2=new JMenuItem("Disconnect");
         m1.add(mitem1);
         m1.add(mitem2);
         mitem1.addActionListener(new ButtonHandler());
         mitem2.addActionListener(new ButtonHandler());
         mbar.add(m1);
         //second menu
         JMenu m2=new JMenu("Send...");
         m2.setBounds(90,0,80,20);
         m2.setBackground(java.awt.Color.gray);
         JMenuItem mitem3=new JMenuItem("Send");
         JMenuItem mitem4=new JMenuItem("Send with Audio...");
         mitem3.addActionListener(new ButtonHandler());
         mitem4.addActionListener(new ButtonHandler());
         m2.add(mitem3);
         m2.add(mitem4);
         mbar.add(m2);
         cp.add(mbar);
    private void setTextPaneStyle()
    StyleContext stylecontext =StyleContext.getDefaultStyleContext();
    defstyle=stylecontext.getStyle(StyleContext.DEFAULT_STYLE);
    doc= textpanel.getStyledDocument();
    //style 1
    style= textpanel.addStyle("bold",defstyle);
    StyleConstants.setBackground(style,Color.white);
    StyleConstants.setForeground(style,Color.blue);
    StyleConstants.setItalic(style, false);
    StyleConstants.setBold(style, true);
    StyleConstants.setFontSize(style,16);
    //style 2
    style= textpanel.addStyle("normal",defstyle);
    StyleConstants.setBackground(style,Color.white);
    StyleConstants.setForeground(style,Color.black);
    StyleConstants.setItalic(style, false);
    StyleConstants.setBold(style, false);
    StyleConstants.setFontSize(style,14);      
    //style3
    style= textpanel.addStyle("attach",defstyle);
    StyleConstants.setBackground(style,Color.white);
    StyleConstants.setForeground(style,Color.red);
    StyleConstants.setItalic(style, true);
    StyleConstants.setBold(style, false);
    StyleConstants.setFontSize(style,12);      
    //remote method called by server
    public void addClient(String alias,String group,JTree tree)
         //if old client remove old tree
         if(!alias.equals(""))
         cp.remove(this.jsp);
         //add new tree
         this.tree=tree;
         setTreeModel();
         getSound(2);
         if(!alias.equals(""))
         textArea2.append("\nNew Client:" + alias + "has joined");
         else
         textArea2.append("\nYou have been connected to the Server.");
         jsp=new JScrollPane(this.tree);
    jsp.setBounds(12,96,168,120);
         jsp.setBackground(java.awt.Color.lightGray);
    cp.add(jsp);
    this.tree.addMouseListener(new MouseHandler());
    //remote method called by server
    public void sendMessage(String str,Hashtable rfiles,String alias,String group) throws RemoteException
              receiveMessage(str,rfiles,alias,group);
    //remote method called by server
    public void removeClient(JTree tree,String alias,String group) throws RemoteException
    cp.remove(this.jsp);
    this.tree=tree;
    setTreeModel();
    getSound(3);
    jsp=new JScrollPane(this.tree);
    jsp.setBounds(12,96,168,120);
         jsp.setBackground(java.awt.Color.lightGray);
    cp.add(jsp);
    this.tree.addMouseListener(new MouseHandler());
    textArea2.append("\nClient:" + alias + "has disconnected");                          
    private void receiveMessage(String str,Hashtable rfiles,String alias,String group)
              boolean flag=true;
              UIManager.put("JFrame.activeTitleBackground", new Color(64,128,255));
    UIManager.put("JFrame.activeTitleForeground", Color.white);
    UIManager.put("JFrame.inactiveTitleBackground", new Color(128,128,128));
    UIManager.put("JFrame.inactiveTitleForeground", Color.black);
    SwingUtilities.updateComponentTreeUI(this);
              try{
              if(alias.equals(""))
         doc.insertString(doc.getLength(),"CHATMASTER>>",textpanel.getStyle("bold"));
              doc.insertString(doc.getLength(),str+ newline,textpanel.getStyle("normal"));
              else
              doc.insertString(doc.getLength(),alias + "@" + group + ">>",textpanel.getStyle("bold"));
              doc.insertString(doc.getLength(),str,textpanel.getStyle("normal"));
              //add files to textpanel
              if(rfiles!=null && rfiles.size()>0)
              doc.insertString(doc.getLength(),newline+"Attachments>>",textpanel.getStyle("attach"));
              showattach(rfiles);
              addtoList(rfiles);     
    doc.insertString(doc.getLength(),newline,textpanel.getStyle("normal"));
    catch(Exception e)
              e.printStackTrace();
              dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
         cp.repaint();               
    protected boolean ContactServer(String alias,String servername,String group)
         try{
              //UnicastRemoteObject.exportObject(this);
              //server=(ServerInterface)Naming.lookup("//gpt02d05:5500/" + servername);
         //     server.notifyMe(this,alias,group);
              //change the settings of buttons
              button1.setEnabled(true);
              button2.setEnabled(true);
              button3.setLabel("Disconnect");
              label8.setVisible(true);
              label8.setText(" Welcome::" + alias);
              //putting values of alias and group for sending messages
              fromalias=alias;
              fromgroup=group;
              CONNECT=true;
              return true;
         catch(UnsupportedOperationException e)
         dialog.showMessageDialog(client,"Client with the Same Alias in " + group + " already exists","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);                                   
         try{
              //     UnicastRemoteObject.unexportObject(client,true);
              catch(Exception ev){System.out.println(ev.toString());}     
         catch(Exception e)
              dialog.showMessageDialog(client,"Unable to connect to Server","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
              try{
              //     UnicastRemoteObject.unexportObject(client,true);
              catch(Exception ev){System.out.println(ev.toString());}     
         return false;      
    public static void main(String args[]) throws RemoteException{
         client=new Client();          
    }//main ends
    public void getSound(int count)
         Toolkit t1=getToolkit();
              for(int i=0;i<count;i++)
              t1.beep();
              try{
                   Thread.sleep(500);
              catch(Exception e){}
    public void setTreeModel()
    ImageIcon i1=new ImageIcon("Lock.gif","No Users");
    ImageIcon i2=new ImageIcon("Connec.gif","Users in Group");
    ImageIcon i3=new ImageIcon("authorbn.gif","An User");
    DefaultTreeCellRenderer dr1= new DefaultTreeCellRenderer();
    dr1.setClosedIcon(i1);
    dr1.setOpenIcon(i2);
    dr1.setLeafIcon(i3);
    dr1.setTextSelectionColor(java.awt.Color.red);
    tree.setCellRenderer(dr1);
    //add received files to the list
    private void addtoList(Hashtable rfiles)
    Enumeration filelist=rfiles.keys();          
    while(filelist.hasMoreElements())          
    File file=(File)filelist.nextElement();
    this.rfiles.put(file,rfiles.get(file));               
    //show the attachments received               
    private void showattach(Hashtable rfiles)
    Enumeration filelist=rfiles.keys();
    dsource=DragSource.getDefaultDragSource();
    JButton b1=null;
    while(filelist.hasMoreElements())
         File file=(File)filelist.nextElement();
         Icon icon=chooser.getIcon(file);
         b1=new JButton(icon);
         b1.setBackground(java.awt.Color.gray);
    b1.setToolTipText(file.getName());
    b1.addMouseListener(new AttachmentHandler());
    Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
    b1.setMaximumSize(d1);
    hfiles.put(b1,file);
    textpanel.setCaretPosition(doc.getLength());
    textpanel.insertComponent(b1);
    b1.setSize(icon.getIconWidth(),icon.getIconHeight());
    dsource.createDefaultDragGestureRecognizer(b1, DnDConstants.ACTION_COPY_OR_MOVE,new DragGestureHandler());           
    cp.repaint();
    private void savefile(File file,Object parent)
    //ExtensionFileFilter filter = new ExtensionFileFilter(false);
    //filter.addExtension("txt",true);
    //chooser.setFileFilter(filter);
    int returnVal = chooser.showSaveDialog(client);
    if(returnVal ==JFileChooser.APPROVE_OPTION)
         try{
         FileOutputStream fstream=new FileOutputStream(chooser.getSelectedFile());
         //decide whether the file received or sent is to be saved
         if(((Container)parent).equals(textArea1))
         fstream.write((byte[])files.get(file));
         else
         fstream.write((byte[])rfiles.get(file));
         fstream.close();
         System.out.println(file.getName());          
         catch(Exception e)
         {System.out.println(e.toString()); }
    private void openfile(File file,Object parent)
         File tempfile=null;
         try{
         String fname=file.getName();     
         tempfile=File.createTempFile("temp",fname.substring(fname.lastIndexOf(".")));     
         FileOutputStream fstream=new FileOutputStream(tempfile);
         System.out.println(tempfile.getAbsolutePath());
         //decide whether the file received or sent is to be saved
         if(((Container)parent).equals(textArea1))
         fstream.write((byte[])files.get(file));
         else
         fstream.write((byte[])rfiles.get(file));          
         fstream.close();
    catch(Exception e){System.out.println(e.toString());}
    try{
         Process p1=r1.exec("cmd /c start " + tempfile.getAbsolutePath());
         p1.waitFor();
    catch(Exception e){System.out.println(e.toString());}     
    //inner classes
    class ComponentHandler implements ContainerListener{
    public void componentRemoved(ContainerEvent ev)     
              Container cont=(Container)ev.getChild();
              if(cont.getComponentCount()>0)
              JButton but=(JButton)cont.getComponent(0);
              files.remove((File)hfiles.get(but));
              hfiles.remove(but);
    public void componentAdded(ContainerEvent ev){}
    class AttachmentHandler extends MouseAdapter{
         public void mouseClicked(MouseEvent ev){
         if(ev.getModifiers()==4)
         Component comp=(Component)ev.getSource();
         File file=(File)hfiles.get(comp);
         popup=new JPopupMenu();
         JMenuItem popopen=new JMenuItem("Open");
         JMenuItem popsave=new JMenuItem("Save As..");
         popup.add(popopen);
         System.out.println(comp.getParent().getParent().getClass().toString());
         popopen.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
         popup.add(popsave);
         popsave.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
         popup.show(comp,12,12);
    class DragGestureHandler extends Vector implements DragGestureListener,DragSourceListener,Transferable{
    final static int FILE = 0;
    final static int STRING = 1;
    final static int PLAIN = 2;
    DataFlavor flavors[] = {DataFlavor.javaFileListFlavor,DataFlavor.stringFlavor,DataFlavor.plainTextFlavor};
    public void dragDropEnd(DragSourceDropEvent ev){}
    public void dragEnter(DragSourceDragEvent ev){}
    public void dragExit(DragSourceEvent ev){}
    public void dragOver(DragSourceDragEvent ev){}
    public void dropActionChanged(DragSourceDragEvent ev){}
    public void dragGestureRecognized(DragGestureEvent ev)     
              System.out.println("recognized");
              File file=(File)hfiles.get(ev.getComponent());
    addElement(file);
    ev.startDrag(DragSource.DefaultCopyDrop,this,this);
    /* Returns the array of flavors in which it can provide the data. */
    public synchronized DataFlavor[] getTransferDataFlavors() {
         return flavors;
    /* Returns whether the requested flavor is supported by this object. */
    public boolean isDataFlavorSupported(DataFlavor flavor) {
    boolean b = false;
    b |=flavor.equals(flavors[FILE]);
    b |= flavor.equals(flavors[STRING]);
    b |= flavor.equals(flavors[PLAIN]);
         return (b);
    public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException,IOException
    if(flavor.equals(flavors[FILE])){return this;}
    else if (flavor.equals(flavors[PLAIN])) {
         return new StringReader(((File)elementAt(0)).getAbsolutePath());
         } else if (flavor.equals(flavors[STRING])) {
         return((File)elementAt(0)).getAbsolutePath();
         } else {
         throw new UnsupportedFlavorException(flavor);
    //inner class for draging in the files on java frame     
    class DragDropHandler implements DropTargetListener{
    public void dragEnter(DropTargetDragEvent ev){     
    public void dragExit(DropTargetEvent ev){
    public void dragOver(DropTargetDragEvent ev){
    public void drop(DropTargetDropEvent ev){
         Transferable tf1=ev.getTransferable();
         DataFlavor fl[]=ev.getCurrentDataFlavors();
         if(ev.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
         ev.acceptDrop (DnDConstants.ACTION_COPY_OR_MOVE);
         try{
         java.util.List fileList = (java.util.List)tf1.getTransferData(DataFlavor.javaFileListFlavor);
    Iterator iterator = fileList.iterator();
    while (iterator.hasNext())
    File file = (File)iterator.next();
    if(file.isFile())
    Icon icon=chooser.getIcon(file);
    FileInputStream fstream=new FileInputStream(file);
    int filedata=(new Double(file.length())).intValue();
    byte bytes[]=new byte[filedata];
    fstream.read(bytes);
    files.put(file,bytes);
    ev.getDropTargetContext().dropComplete(true);
    addAttach(fileList);
    catch(Exception e)
    {System.out.println(e.toString() + "here");}
    public void dropActionChanged(DropTargetDragEvent ev){
    class MouseHandler extends MouseAdapter{
    public void mouseClicked(MouseEvent me)
    TreePath tp=tree.getPathForLocation(me.getX(),me.getY());
    if(tp!=null)
         if(tp.getPathCount()==3)
              toalias=tp.getPathComponent(2).toString();
              togroup=tp.getPathComponent(1).toString();
              System.out.println(toalias);
              if (!(toalias.equals(fromalias) && togroup.equals(fromgroup)))
              System.out.println("hh " + toalias);
              label4.setText(tp.getPathComponent(2).toString() + "_@" + tp.getPathComponent(1).toString());           
    class ButtonHandler implements ActionListener{
         private File file;
         private Object parent;
         //constructors
         public ButtonHandler()
         public ButtonHandler(File file,Object parent)
              this.file=file;
              this.parent=parent;
         //other functions      
         public void actionPerformed(ActionEvent ev){
              String s=ev.getActionCommand();
         System.out.println(s);
              if(s.equals("Send with Audio..."))
              //Audio audio=new Audio(client,false,"CAPTURE");          
              if(s.equals("Disconnect"))
              try{
              // server.disconnect(client);
              client.getSound(3);
              cp.remove(jsp);
              label6.setVisible(false);
              //UnicastRemoteObject.unexportObject(client,true);
              button3.setLabel("Connect");
              textArea2.append("\nYou have been disconnected to Server");
              client.repaint();     
              catch(Exception e)
              System.out.println(e.toString());
              if(s.equals("Connect"))
         //     clp=new ClientProperties(client,false);
         if(s.equals("Save As.."))
         savefile(file,parent);     
         if(s.equals("Open"))
         openfile(file,parent);
              if(s.equals("Attach"))
              //ExtensionFileFilter filter = new ExtensionFileFilter(false);
              //filter.addExtension(".txt",true);
              //filter.setDescription("Text Files(.txt)");
              // chooser.setFileFilter(filter);
              chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
              //chooser.setMultiSelectionEnabled(true);
              int returnVal = chooser.showOpenDialog(client);
              if(returnVal ==JFileChooser.APPROVE_OPTION)
              //File fp[]=chooser.getSelectedFiles();
              File fp[]=new File[1];
              fp[0]=chooser.getSelectedFile();
              int i=0;
              while(i<fp.length)
              try{
              File file=fp;
              Icon icon=chooser.getIcon(file);
    FileInputStream fstream=new FileInputStream(file);
    int filedata=(new Double(file.length())).intValue();
    byte bytes[]=new byte[filedata];
    fstream.read(bytes);
    files.put(file,bytes);
    catch(Exception e){dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
    return; }
    i++;
              java.util.List fileList=Arrays.asList(fp);
              addAttach(fileList);
              if(s.equals("Send"))
              try{
                   if(toalias==null)
                   dialog.showMessageDialog(client,"Select the Recepient First!!","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
                   return;
                   if(toalias!=null && togroup!=null && (!toalias.equals(fromalias)))
                   // server.sendMessage(textArea1.getText(),files,toalias,togroup,fromalias,fromgroup);
                   textArea1.setText("");
              catch(Exception e)
         e.printStackTrace();
    }//if ends
    class WindowEventHandler extends WindowAdapter{
         public void windowClosing(WindowEvent ev){
              try{
              //server.disconnect(client);
              client.getSound(3);
         //     UnicastRemoteObject.unexportObject(client,true);
              catch(Exception e){System.out.println(e.toString());}
              dispose();
    private class onshutdown extends Thread{
    public void run(){
         try{
              //server.disconnect(client);
              //UnicastRemoteObject.unexportObject(client,true);
              catch(Exception e){}      
    }//run ends          

    Here is the working code :
    There was an error line 724
    File file=fp; -> File file=fp[0];
    Several method were deprecated and try to replace the deprecated static field : DataFlavor.plainTextFlavor which was deprecated since 1.4.
    /* Client.java*/
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.rmi.*;
    import java.rmi.server.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.filechooser.*;
    import java.io.*;
    import java.awt.dnd.*;
    import java.awt.datatransfer.*;
    import javax.swing.plaf.*;
    import javax.swing.plaf.basic.*;
    import javax.swing.text.*;
    import javax.swing.event.*;
    public class Client extends JFrame{
    static String newline = System.getProperty("line.separator");
    static Client client;
    //ServerInterface server;
    //ClientProperties clp;
    Vector v1=new Vector();
    ByteArrayOutputStream out;
    Runtime r1;
    //file objects,together with array of bytes
    Hashtable files=new Hashtable(); //files sent
    Hashtable rfiles=new Hashtable(); //files received
    //file objects,together with button handlers
    Hashtable hfiles=new Hashtable(); //files sent,files received
    JButton button1=new JButton();
    JButton button2=new JButton();
    JButton button3=new JButton();
    JLabel label1=new JLabel();
    JLabel label2=new JLabel();
    JLabel label3=new JLabel();
    JLabel label4=new JLabel();
    JLabel label5=new JLabel();
    JLabel label6=new JLabel();
    JLabel label7=new JLabel();
    JLabel label8=new JLabel();
    JOptionPane dialog=new JOptionPane();
    JFileChooser chooser = new JFileChooser();
    JPanel panel1;
    JPanel panel2;
    DropTarget dtarget;
    DragSource dsource;
    JTextPane textArea1=new JTextPane();
    TextArea textArea2=new TextArea();
    JTextPane textpanel=new JTextPane();
    Style defstyle,style;
    StyledDocument doc,doc1;
    JPopupMenu popup;
    JTree tree;
    JScrollPane jsppane;
    JScrollPane jsp,jsp2;
    DefaultMutableTreeNode top;
    Container cp;
    private String toalias;
    private String togroup;
    private String fromalias;
    private String fromgroup;
    private boolean CONNECT;
    public Client()
    cp=getContentPane();
    cp.setLayout(null);
    setForeground(java.awt.Color.red);
    setFont(new Font("Dialog", Font.PLAIN, 14));
    setVisible(false);
    label1.setText(" CHAT APPLICATION");
    cp.add(label1);
    label1.setFont(new Font("Dialog", Font.BOLD, 16));
    label1.setBounds(72,20,319,30);
    label2.setText("List of Users Connected.");
    cp.add(label2);
    label2.setForeground(java.awt.Color.blue);
    label2.setFont(new Font("Dialog", Font.BOLD, 12));
    label2.setBounds(24,60,192,26);
    label8.setBounds(280,60,100,26);
    cp.add(label8);
    cp.add(textArea2);
    textArea2.setBounds(204,120,268,90);
    jsppane=new JScrollPane(textArea1);
    doc1=textArea1.getStyledDocument();
    jsppane.setBounds(12,264,456,109);
    cp.add(jsppane);
    label3.setText("TO::");
    cp.add(label3);
    label3.setFont(new Font("Dialog", Font.BOLD, 12));
    label3.setBounds(12,228,36,20);
    cp.add(label4);
    label4.setBackground(java.awt.Color.lightGray);
    label4.setBounds(60,228,172,19);
    label5.setText("SERVER RESPONSE");
    cp.add(label5);
    label5.setFont(new Font("Dialog", Font.BOLD, 12));
    label5.setBounds(204,96,204,21);
    label7.setText("MESSAGE FOR YOU.");
    cp.add(label7);
    label7.setFont(new Font("Dialog", Font.BOLD, 14));
    label7.setBounds(12,371,288,25);
    jsp2=new JScrollPane(textpanel);
    setTextPaneStyle();
    jsp2.setBounds(12,401,456,109);
    cp.add(jsp2);
    button1.setText("Send");
    button1.setEnabled(false);
    cp.add(button1);
    button1.setBackground(java.awt.Color.lightGray);
    button1.setForeground(java.awt.Color.black);
    button1.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
    button1.setBounds(60,520,78,36);
    button2.setText("Attach");
    //button2.setEnabled(false);
    cp.add(button2);
    button2.setBackground(java.awt.Color.lightGray);
    button2.setForeground(java.awt.Color.black);
    button2.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
    button2.setBounds(180,520,72,36);
    button3.setText("Connect");
    cp.add(button3);
    button3.setBackground(java.awt.Color.lightGray);
    button3.setForeground(java.awt.Color.black);
    button3.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 10));
    button3.setBounds(288,520,72,33);
    setSize(500,620);
    show();
    addWindowListener(new WindowEventHandler());
    button1.addActionListener(new ButtonHandler());
    button2.addActionListener(new ButtonHandler());
    button3.addActionListener(new ButtonHandler());
    textArea1.addContainerListener(new ComponentHandler());
    dtarget=new DropTarget(textArea1,new DragDropHandler());
    textArea2.setEnabled(false);
    textpanel.setEnabled(false);
    r1=Runtime.getRuntime();
    r1.addShutdownHook(new onshutdown());
    addMenu();
    cp.repaint();
    //adds attachments to the textArea1
    synchronized private void addAttach(java.util.List fileList)
    Iterator iterator=fileList.iterator();
    JButton bw;
    while(iterator.hasNext())
    File file=(File)iterator.next();
    Icon icon=chooser.getIcon(file);
    bw=new JButton(icon);
    bw.setBackground(java.awt.Color.gray);
    bw.setToolTipText(file.getAbsolutePath());
    bw.addMouseListener(new AttachmentHandler());
    Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
    bw.setMaximumSize(d1);
    hfiles.put(bw,file);
    textArea1.insertComponent(bw);
    textArea1.setCaretPosition(doc1.getLength());
    bw.setSize(icon.getIconWidth(),icon.getIconHeight());
    //only one file at a time
    break;
    cp.repaint();
    public void setAudioStream(ByteArrayOutputStream out)
    this.out=out;
    private void addMenu()
    JMenuBar mbar=new JMenuBar();
    mbar.setVisible(true);
    mbar.setBounds(0,0,500,20);
    mbar.setBackground(java.awt.Color.gray);
    //first menu
    JMenu m1=new JMenu("Connection");
    m1.setBounds(0,0,80,20);
    m1.setBackground(java.awt.Color.gray);
    JMenuItem mitem1=new JMenuItem("Connect");
    JMenuItem mitem2=new JMenuItem("Disconnect");
    m1.add(mitem1);
    m1.add(mitem2);
    mitem1.addActionListener(new ButtonHandler());
    mitem2.addActionListener(new ButtonHandler());
    mbar.add(m1);
    //second menu
    JMenu m2=new JMenu("Send...");
    m2.setBounds(90,0,80,20);
    m2.setBackground(java.awt.Color.gray);
    JMenuItem mitem3=new JMenuItem("Send");
    JMenuItem mitem4=new JMenuItem("Send with Audio...");
    mitem3.addActionListener(new ButtonHandler());
    mitem4.addActionListener(new ButtonHandler());
    m2.add(mitem3);
    m2.add(mitem4);
    mbar.add(m2);
    cp.add(mbar);
    private void setTextPaneStyle()
    StyleContext stylecontext =StyleContext.getDefaultStyleContext();
    defstyle=stylecontext.getStyle(StyleContext.DEFAULT_STYLE);
    doc= textpanel.getStyledDocument();
    //style 1
    style= textpanel.addStyle("bold",defstyle);
    StyleConstants.setBackground(style,Color.white);
    StyleConstants.setForeground(style,Color.blue);
    StyleConstants.setItalic(style, false);
    StyleConstants.setBold(style, true);
    StyleConstants.setFontSize(style,16);
    //style 2
    style= textpanel.addStyle("normal",defstyle);
    StyleConstants.setBackground(style,Color.white);
    StyleConstants.setForeground(style,Color.black);
    StyleConstants.setItalic(style, false);
    StyleConstants.setBold(style, false);
    StyleConstants.setFontSize(style,14);
    //style3
    style= textpanel.addStyle("attach",defstyle);
    StyleConstants.setBackground(style,Color.white);
    StyleConstants.setForeground(style,Color.red);
    StyleConstants.setItalic(style, true);
    StyleConstants.setBold(style, false);
    StyleConstants.setFontSize(style,12);
    //remote method called by server
    public void addClient(String alias,String group,JTree tree)
    //if old client remove old tree
    if(!alias.equals(""))
    cp.remove(this.jsp);
    //add new tree
    this.tree=tree;
    setTreeModel();
    getSound(2);
    if(!alias.equals(""))
    textArea2.append("\nNew Client:" + alias + "has joined");
    else
    textArea2.append("\nYou have been connected to the Server.");
    jsp=new JScrollPane(this.tree);
    jsp.setBounds(12,96,168,120);
    jsp.setBackground(java.awt.Color.lightGray);
    cp.add(jsp);
    this.tree.addMouseListener(new MouseHandler());
    //remote method called by server
    public void sendMessage(String str,Hashtable rfiles,String alias,String group) throws RemoteException
    receiveMessage(str,rfiles,alias,group);
    //remote method called by server
    public void removeClient(JTree tree,String alias,String group) throws RemoteException
    cp.remove(this.jsp);
    this.tree=tree;
    setTreeModel();
    getSound(3);
    jsp=new JScrollPane(this.tree);
    jsp.setBounds(12,96,168,120);
    jsp.setBackground(java.awt.Color.lightGray);
    cp.add(jsp);
    this.tree.addMouseListener(new MouseHandler());
    textArea2.append("\nClient:" + alias + "has disconnected");
    private void receiveMessage(String str,Hashtable rfiles,String alias,String group)
    boolean flag=true;
    UIManager.put("JFrame.activeTitleBackground", new Color(64,128,255));
    UIManager.put("JFrame.activeTitleForeground", Color.white);
    UIManager.put("JFrame.inactiveTitleBackground", new Color(128,128,128));
    UIManager.put("JFrame.inactiveTitleForeground", Color.black);
    SwingUtilities.updateComponentTreeUI(this);
    try{
    if(alias.equals(""))
    doc.insertString(doc.getLength(),"CHATMASTER>>",textpanel.getStyle("bold"));
    doc.insertString(doc.getLength(),str+ newline,textpanel.getStyle("normal"));
    else
    doc.insertString(doc.getLength(),alias + "@" + group + ">>",textpanel.getStyle("bold"));
    doc.insertString(doc.getLength(),str,textpanel.getStyle("normal"));
    //add files to textpanel
    if(rfiles!=null && rfiles.size()>0)
    doc.insertString(doc.getLength(),newline+"Attachments>>",textpanel.getStyle("attach"));
    showattach(rfiles);
    addtoList(rfiles);
    doc.insertString(doc.getLength(),newline,textpanel.getStyle("normal"));
    catch(Exception e)
    e.printStackTrace();
    dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
    cp.repaint();
    protected boolean ContactServer(String alias,String servername,String group)
    try{
    //UnicastRemoteObject.exportObject(this);
    //server=(ServerInterface)Naming.lookup("//gpt02d05:5500/" + servername);
    // server.notifyMe(this,alias,group);
    //change the settings of buttons
    button1.setEnabled(true);
    button2.setEnabled(true);
    button3.setText("Disconnect");
    label8.setVisible(true);
    label8.setText(" Welcome::" + alias);
    //putting values of alias and group for sending messages
    fromalias=alias;
    fromgroup=group;
    CONNECT=true;
    return true;
    catch(UnsupportedOperationException e)
    dialog.showMessageDialog(client,"Client with the Same Alias in " + group + " already exists","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
    try{
    // UnicastRemoteObject.unexportObject(client,true);
    catch(Exception ev){System.out.println(ev.toString());}
    catch(Exception e)
    dialog.showMessageDialog(client,"Unable to connect to Server","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
    try{
    // UnicastRemoteObject.unexportObject(client,true);
    catch(Exception ev){System.out.println(ev.toString());}
    return false;
    public static void main(String args[]) throws RemoteException{
    client=new Client();
    }//main ends
    public void getSound(int count)
    Toolkit t1=getToolkit();
    for(int i=0;i<count;i++)
    t1.beep();
    try{
    Thread.sleep(500);
    catch(Exception e){}
    public void setTreeModel()
    ImageIcon i1=new ImageIcon("Lock.gif","No Users");
    ImageIcon i2=new ImageIcon("Connec.gif","Users in Group");
    ImageIcon i3=new ImageIcon("authorbn.gif","An User");
    DefaultTreeCellRenderer dr1= new DefaultTreeCellRenderer();
    dr1.setClosedIcon(i1);
    dr1.setOpenIcon(i2);
    dr1.setLeafIcon(i3);
    dr1.setTextSelectionColor(java.awt.Color.red);
    tree.setCellRenderer(dr1);
    //add received files to the list
    private void addtoList(Hashtable rfiles)
    Enumeration filelist=rfiles.keys();
    while(filelist.hasMoreElements())
    File file=(File)filelist.nextElement();
    this.rfiles.put(file,rfiles.get(file));
    //show the attachments received
    private void showattach(Hashtable rfiles)
    Enumeration filelist=rfiles.keys();
    dsource=DragSource.getDefaultDragSource();
    JButton b1=null;
    while(filelist.hasMoreElements())
    File file=(File)filelist.nextElement();
    Icon icon=chooser.getIcon(file);
    b1=new JButton(icon);
    b1.setBackground(java.awt.Color.gray);
    b1.setToolTipText(file.getName());
    b1.addMouseListener(new AttachmentHandler());
    Dimension d1=new Dimension(icon.getIconWidth(),icon.getIconHeight());
    b1.setMaximumSize(d1);
    hfiles.put(b1,file);
    textpanel.setCaretPosition(doc.getLength());
    textpanel.insertComponent(b1);
    b1.setSize(icon.getIconWidth(),icon.getIconHeight());
    dsource.createDefaultDragGestureRecognizer(b1, DnDConstants.ACTION_COPY_OR_MOVE,new DragGestureHandler());
    cp.repaint();
    private void savefile(File file,Object parent)
    //ExtensionFileFilter filter = new ExtensionFileFilter(false);
    //filter.addExtension("txt",true);
    //chooser.setFileFilter(filter);
    int returnVal = chooser.showSaveDialog(client);
    if(returnVal ==JFileChooser.APPROVE_OPTION)
    try{
    FileOutputStream fstream=new FileOutputStream(chooser.getSelectedFile());
    //decide whether the file received or sent is to be saved
    if(((Container)parent).equals(textArea1))
    fstream.write((byte[])files.get(file));
    else
    fstream.write((byte[])rfiles.get(file));
    fstream.close();
    System.out.println(file.getName());
    catch(Exception e)
    {System.out.println(e.toString()); }
    private void openfile(File file,Object parent)
    File tempfile=null;
    try{
    String fname=file.getName();
    tempfile=File.createTempFile("temp",fname.substring(fname.lastIndexOf(".")));
    FileOutputStream fstream=new FileOutputStream(tempfile);
    System.out.println(tempfile.getAbsolutePath());
    //decide whether the file received or sent is to be saved
    if(((Container)parent).equals(textArea1))
    fstream.write((byte[])files.get(file));
    else
    fstream.write((byte[])rfiles.get(file));
    fstream.close();
    catch(Exception e){System.out.println(e.toString());}
    try{
    Process p1=r1.exec("cmd /c start " + tempfile.getAbsolutePath());
    p1.waitFor();
    catch(Exception e){System.out.println(e.toString());}
    //inner classes
    class ComponentHandler implements ContainerListener{
    public void componentRemoved(ContainerEvent ev)
    Container cont=(Container)ev.getChild();
    if(cont.getComponentCount()>0)
    JButton but=(JButton)cont.getComponent(0);
    files.remove((File)hfiles.get(but));
    hfiles.remove(but);
    public void componentAdded(ContainerEvent ev){}
    class AttachmentHandler extends MouseAdapter{
    public void mouseClicked(MouseEvent ev){
    if(ev.getModifiers()==4)
    Component comp=(Component)ev.getSource();
    File file=(File)hfiles.get(comp);
    popup=new JPopupMenu();
    JMenuItem popopen=new JMenuItem("Open");
    JMenuItem popsave=new JMenuItem("Save As..");
    popup.add(popopen);
    System.out.println(comp.getParent().getParent().getClass().toString());
    popopen.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
    popup.add(popsave);
    popsave.addActionListener(new ButtonHandler(file,comp.getParent().getParent()));
    popup.show(comp,12,12);
    class DragGestureHandler extends Vector implements DragGestureListener,DragSourceListener,Transferable{
    final static int FILE = 0;
    final static int STRING = 1;
    final static int PLAIN = 2;
    DataFlavor flavors[] = {DataFlavor.javaFileListFlavor,DataFlavor.stringFlavor,DataFlavor.plainTextFlavor};
    public void dragDropEnd(DragSourceDropEvent ev){}
    public void dragEnter(DragSourceDragEvent ev){}
    public void dragExit(DragSourceEvent ev){}
    public void dragOver(DragSourceDragEvent ev){}
    public void dropActionChanged(DragSourceDragEvent ev){}
    public void dragGestureRecognized(DragGestureEvent ev)
    System.out.println("recognized");
    File file=(File)hfiles.get(ev.getComponent());
    addElement(file);
    ev.startDrag(DragSource.DefaultCopyDrop,this,this);
    /* Returns the array of flavors in which it can provide the data. */
    public synchronized DataFlavor[] getTransferDataFlavors() {
    return flavors;
    /* Returns whether the requested flavor is supported by this object. */
    public boolean isDataFlavorSupported(DataFlavor flavor) {
    boolean b = false;
    b |=flavor.equals(flavors[FILE]);
    b |= flavor.equals(flavors[STRING]);
    b |= flavor.equals(flavors[PLAIN]);
    return (b);
    public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException,IOException
    if(flavor.equals(flavors[FILE])){return this;}
    else if (flavor.equals(flavors[PLAIN])) {
    return new StringReader(((File)elementAt(0)).getAbsolutePath());
    } else if (flavor.equals(flavors[STRING])) {
    return((File)elementAt(0)).getAbsolutePath();
    } else {
    throw new UnsupportedFlavorException(flavor);
    //inner class for draging in the files on java frame
    class DragDropHandler implements DropTargetListener{
    public void dragEnter(DropTargetDragEvent ev){
    public void dragExit(DropTargetEvent ev){
    public void dragOver(DropTargetDragEvent ev){
    public void drop(DropTargetDropEvent ev){
    Transferable tf1=ev.getTransferable();
    DataFlavor fl[]=ev.getCurrentDataFlavors();
    if(ev.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
    ev.acceptDrop (DnDConstants.ACTION_COPY_OR_MOVE);
    try{
    java.util.List fileList = (java.util.List)tf1.getTransferData(DataFlavor.javaFileListFlavor);
    Iterator iterator = fileList.iterator();
    while (iterator.hasNext())
    File file = (File)iterator.next();
    if(file.isFile())
    Icon icon=chooser.getIcon(file);
    FileInputStream fstream=new FileInputStream(file);
    int filedata=(new Double(file.length())).intValue();
    byte bytes[]=new byte[filedata];
    fstream.read(bytes);
    files.put(file,bytes);
    ev.getDropTargetContext().dropComplete(true);
    addAttach(fileList);
    catch(Exception e)
    {System.out.println(e.toString() + "here");}
    public void dropActionChanged(DropTargetDragEvent ev){
    class MouseHandler extends MouseAdapter{
    public void mouseClicked(MouseEvent me)
    TreePath tp=tree.getPathForLocation(me.getX(),me.getY());
    if(tp!=null)
    if(tp.getPathCount()==3)
    toalias=tp.getPathComponent(2).toString();
    togroup=tp.getPathComponent(1).toString();
    System.out.println(toalias);
    if (!(toalias.equals(fromalias) && togroup.equals(fromgroup)))
    System.out.println("hh " + toalias);
    label4.setText(tp.getPathComponent(2).toString() + "_@" + tp.getPathComponent(1).toString());
    class ButtonHandler implements ActionListener{
    private File file;
    private Object parent;
    //constructors
    public ButtonHandler()
    public ButtonHandler(File file,Object parent)
    this.file=file;
    this.parent=parent;
    //other functions
    public void actionPerformed(ActionEvent ev){
    String s=ev.getActionCommand();
    System.out.println(s);
    if(s.equals("Send with Audio..."))
    //Audio audio=new Audio(client,false,"CAPTURE");
    if(s.equals("Disconnect"))
    try{
    // server.disconnect(client);
    client.getSound(3);
    cp.remove(jsp);
    label6.setVisible(false);
    //UnicastRemoteObject.unexportObject(client,true);
    button3.setText("Connect");
    textArea2.append("\nYou have been disconnected to Server");
    client.repaint();
    catch(Exception e)
    System.out.println(e.toString());
    if(s.equals("Connect"))
    // clp=new ClientProperties(client,false);
    if(s.equals("Save As.."))
    savefile(file,parent);
    if(s.equals("Open"))
    openfile(file,parent);
    if(s.equals("Attach"))
    //ExtensionFileFilter filter = new ExtensionFileFilter(false);
    //filter.addExtension(".txt",true);
    //filter.setDescription("Text Files(.txt)");
    // chooser.setFileFilter(filter);
    chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
    //chooser.setMultiSelectionEnabled(true);
    int returnVal = chooser.showOpenDialog(client);
    if(returnVal ==JFileChooser.APPROVE_OPTION)
    //File fp[]=chooser.getSelectedFiles();
    File fp[]=new File[1];
    fp[0]=chooser.getSelectedFile();
    int i=0;
    while(i<fp.length)
    try{
    File file=fp[0];
    Icon icon=chooser.getIcon(file);
    FileInputStream fstream=new FileInputStream(file);
    int filedata=(new Double(file.length())).intValue();
    byte bytes[]=new byte[filedata];
    fstream.read(bytes);
    files.put(file,bytes);
    catch(Exception e){dialog.showMessageDialog(client,e.toString(),"Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
    return; }
    i++;
    java.util.List fileList=Arrays.asList(fp);
    addAttach(fileList);
    if(s.equals("Send"))
    try{
    if(toalias==null)
    dialog.showMessageDialog(client,"Select the Recepient First!!","Error:ChatApplication",JOptionPane.ERROR_MESSAGE);
    return;
    if(toalias!=null && togroup!=null && (!toalias.equals(fromalias)))
    // server.sendMessage(textArea1.getText(),files,toalias,togroup,fromalias,fromgroup);
    textArea1.setText("");
    catch(Exception e)
    e.printStackTrace();
    }//if ends
    class WindowEventHandler extends WindowAdapter{
    public void windowClosing(WindowEvent ev){
    try{
    //server.disconnect(client);
    client.getSound(3);
    // UnicastRemoteObject.unexportObject(client,true);
    catch(Exception e){System.out.println(e.toString());}
    dispose();
    private class onshutdown extends Thread{
    public void run(){
    try{
    //server.disconnect(client);
    //UnicastRemoteObject.unexportObject(client,true);
    catch(Exception e){}
    }//run ends
    I hope this helps,
    Denis

  • IOS app starts with black screen when compiled via ADT (Flex 4.6, AIR3.7)

    I was using Flex 4.6 with AIR 3.1 in Flash Builder 4.6 on Windows 7. I used two build methods: 1) "Export Release Build" in Flash Builder during development and 2) the ADT toolchain on my build server.
    For the ADT method I would create AIR intermediate files using:
    "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\FlashBuilderC.exe" --launcher.suppressErrors -noSplash -application org.eclipse.ant.core.antRunner -data [PATH_TO_SOURCE] -file [PATH_TO_BUILD_XML] [PROJECT_NAME]
    Where my build.xml looks like:
    <?xml version="1.0"?>
    <project default="main">
        <target name="main">
            <fb.exportReleaseBuild project="[PROJECT_NAME]" basefilename="[BASE_FILE_NAME]" verbose="true" destdir="bin-release" />
        </target>
    </project>
    From these intermediate AIR files I would create my APK and IPA files using ADT like so (shown for iOS):
    echo [CERTIFICATE_PASSWORD]|"C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\bin\adt" -package -target ipa-test -provisioning-profile [PATH_TO_MOBILE_PROVISIONING_FILE] -storetype PKCS12 -keystore [PATH_TO_DEV_CERTIFICATE] [OUTPUT_PATH] [PATH_TO_IOS_AIRI]
    This procedure produced working iOS and Android apps as well.
    I decided to upgrade AIR to version 3.7. I used the overlay proceedure described here (http://helpx.adobe.com/x-productkb/multi/how-overlay-air-sdk-flex-sdk.html). I also updated the namespace in my project to reflect the new AIR version. Using "Export Release Build" in Flash Builder produces working copies of both the iOS and Android apps. Furthermore, the secondary method (used on my build server), produces both APK and IPA files without error. The APK works just fine but the IPA does not. When running the app on an Apple device, it starts up with a black screen and stays this way.
    To summarize:
    Flex 4.6, AIR 3.1: "Export Release Build" and ADT tool chain produce working APK and IPA files.
    Flex 4.6, AIR 3.7 using overlay procedure: "Export Release Build" produces working APK and IPA files, ADT tool chain produces working APK file but IPA file loads black screen on Apple devices.
    More notes:
    I had made a back up of the "4.6.0" directory that holds the Flex and AIR SDK files. If I replace the overlayed Flex 4.6.0 SDK directory with the original (which contains AIR 3.1) and revert the namespace back to 3.1 in my project, everything goes back to normal and I get working apps via both methods described above.
    Edit: I also should note that I've tried many other combinations of Flex and AIR (Flex 4.9.1 from Apache and AIR 3.5/3.6), which all produce the same issue. It seems that the overlay procedure breaks something for ADT with iOS specifically...
    Edit 2: I also noticed that the IPA files output by methods 1 and 2 are slightly different. Opening these with 7-Zip I see that most of the files are the same, but some differ slightly in size (this was due to 'ipa-test' vs 'ipa-ad-hoc'). The odd thing is that in the IPA file that does not work (produced via the ADT method), the SWF file is named "swf3465180827438224920.tmp" while the SWF in the IPA that was created using "Export Release Build is named "[PROJECT_NAME].swf". It almost appears as though ADT fails to rename the temporary SWF file. I also realized that the "Export Release Build" method likely used '-target ipa-ad-hoc', so I tried this in the ADT method with the same result.
    Any thoughts?

    Hello Nimit,
    Thank you for your response. I have tried AIR 3.8 Beta and this did not correct the problem. I downloaded the AIR 3.7 SDK from http://airdownload.adobe.com/air/win/download/latest/AdobeAIRSDK.zip . I have also tried with the new compiler as well, with the same result.
    To keep things simple, I've created a very lightweight example with which I see the issue. I've also been able to remove the Flash Builder step and reproduce the problem with mxmlc and adt only. Since the files are simple, I will just post them here.
    TestApp-app.xml
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <application xmlns="http://ns.adobe.com/air/application/3.7">
        <id>com.company.testapp</id>
        <filename>TestApp</filename>
        <versionNumber>1.0.0</versionNumber>
        <initialWindow>
            <content>TestApp.swf</content>
            <autoOrients>false</autoOrients>
            <fullScreen>true</fullScreen>
            <visible>true</visible>
            <softKeyboardBehavior>none</softKeyboardBehavior>
        </initialWindow>
        <android>
            <colorDepth>16bit</colorDepth>
            <manifestAdditions><![CDATA[
                <manifest android:installLocation="auto">
                    <uses-permission android:name="android.permission.INTERNET"/>
                </manifest>
            ]]></manifestAdditions>
        </android>
        <iPhone>
            <InfoAdditions><![CDATA[
                <key>UIDeviceFamily</key>
                <array>
                    <string>1</string>
                    <string>2</string>
                </array>
            ]]></InfoAdditions>
            <requestedDisplayResolution>high</requestedDisplayResolution>
        </iPhone>
    </application>
    TestApp.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" firstView="TestView" applicationDPI="160">
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
    </s:ViewNavigatorApplication>
    TestView.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="Test App" >
        <s:VGroup width="100%" height="100%" verticalAlign="middle" horizontalAlign="center" >
            <s:Label text="Hello World!" />
        </s:VGroup>
    </s:View>
    Create the above files in a single directory. Run the following to get a working IPA (method 1):
    > mxmlc +configname=airmobile TestApp.mxml
    > adt -package -target ipa-test -provisioning-profile [PROVISIONING_FILE] -storetype pkcs12 -keystore [CERTIFICATE] TestApp.ipa TestApp-app.xml TestApp.swf
    To reproduce the problem, run the following (method 2):
    > mxmlc +configname=airmobile TestApp.mxml
    > adt -prepare TestApp.airi TestApp-app.xml TestApp.swf
    > adt -package -target ipa-test -provisioning-profile [PROVISIONING_FILE] -storetype pkcs12 -keystore [CERTIFICATE] TestApp.ipa TestApp.airi
    If you unpack the working IPA (from method 1) you will see the file "TestApp.ipa\Payload\TestApp.app\TestApp.swf". However, if you likewise inspect the IPA created via the AIR intermediate method (method 2), you will see the file "TestApp.ipa\Payload\TestApp.app\swf1970057761096800694.tmp" and there will be no "TestApp.swf". In both IPA files, if we inspect "TestApp.ipa\Payload\TestApp.app\Info.plist", we see the snippet:
            <key>CTInitialWindowTitle</key>
            <string>TestApp</string>
            <key>CTInitialWindowContent</key>
            <string>TestApp.swf</string>
            <key>CTMaxSWFMajorVersion</key>
            <string>20</string>
            <key>CFBundleSupportedPlatforms</key>
    So I suspect "TestApp.ipa\Payload\TestApp.app\swf1970057761096800694.tmp" is incorrectly named, cannot be found at runtime and thus displays a black screen.
    This problem is observed when using AIR 3.7. It is not observed when using AIR 3.1.

  • Action aborted with error 500.when trying to deploy a Planning application

    I am trying to deploy the SampAp sample application that comes with the Planning 9.3.1 installation. I have installed and configured everything successfully and have created, deployed, and uploaded the HFM sample applications just fine, but I am having trouble when trying to deploy the Planning application with the following detail.
    Detail : Initiating Product Action...
    Inspecting Deployment History...
    Generating Headers and Callback Information...
    Generating Application Data...
    Preparing Product Request...
    Posting Product Request...
    Product Response:500...
    Action aborted.

    Falls into the issue desribed in http://support.microsoft.com/kb/918040
    Try mitigatign using the workaround section
    Arthur My Blog

  • Firefox 25.0.1 Warn when closing multiple tabs (on) conflicts with "show windows und tabs from last time" (on); need both, but only one or the other works.

    Using Firefox 25.0.1 on Windows 7 Home Premium
    I've poured through support forums for Mozilla Firefox searching for a fix to my initial problem of the "Warn when closing multiple tabs" pop up not popping up when I have it selected.
    Went through About:Config, making sure warnings for tabs und closing, und showing on quit, und quitting, etc. were all set to true, which were "possible" fixes for the issue I was having, there are like five or six things set to true for warnings/quitting/etc. No avail. They are all set to true.
    Then I stumbled across one that suggested a conflict with the "Warn When Closing Multiple Tabs" und the "Show Windows und Tabs from last time".
    I use both features. However, I found if I want the warning pop up for closing multiple tabs, I have to have "show homepage" or "show blank page" selected instead of "Show windows und tabs from last time" selected. (Tools>Options>General>Start Up>When Firefox Starts:) The problem with this is, yes, I get my warning pop up, BUT, I don't get my tabs from my last session.
    The warning in settings (Tools>Options>Tabs>Warn Me When Closing Multiple Tabs) is checked.
    To have my tabs restored from last session, I simply select it for "when firefox starts". Bam, I have my tabs that were open from the last time I quit. Und again, full circle, I don't have my warning pop up.
    There were also suggestions of the warning on close for tabs is conflicting with add-ons.
    However, I don't have many. Und I have yet to test them to see if they interfere. These are according to my Add Ons tab when I check it myself.
    Extensions:
    1. Avast WebRep (disabled)
    2. HP Smart Web Printing (disabled)
    Plugins:
    1. Adobe Acrobat
    2. Google Update
    3. iTunes Application Detector
    4. Java (TM) Platform SE 7 U45
    5. Shockwave Flash
    6. Shockwave For Director
    7. Silverlight Plug-In
    8. VLC Web Plugin
    9. Windows Live Photo Gallery
    10. Java Deployment Toolkit (disabled)
    Note: The Details Firefox provides says I have these for Plugins
    * Shockwave Flash 11.9 r900
    * Adobe Shockwave for Director Netscape plug-in, version 12.0.5.146
    * Next Generation Java Plug-in 10.45.2 for Mozilla browsers
    * Google Update
    * Adobe PDF Plug-In For Firefox and Netscape 11.0.05
    * VLC media player Web Plugin 2.1.0
    * 5.1.20913.0
    * iTunes Detector Plug-in
    * NPWLPG
    Unsure of what the "5.1.20913.0" und the "NPWLPG" plugins are, but they don't appear to me under Add Ons.
    Und as usual, I'm assuming the solution lies within About:Config, I will show here now what I have set to True.
    browser.tabs.warnOnClose - True
    browser.tabs.warnOnCloseOtherTabs - True
    browser.tabs.warnOnOpen - True
    browser.warnOnQuit - True
    browser.showQuitWarning - True
    As aforementioned:
    The seemingly only issue is the conflict between Show Windows/Tabs From Last Time und the Warn On Quit pop up. Und again, I need/want both of them. More so the tabs from the last session, but I really really really really really want the warning.
    So, if anyone knows a work around, preferably without having to download anything to fix this, I would be extremely grateful.

    You mention a second subject.
    ''I'm probably going to downgrade to another version of firefox that was suggested to me since I'm also having issues with shockwave flash causing firefox to hang und ultimately needs to be force closed otherwise having to have flash disabled to use firefox.''
    <u>Downgrading Firefox </u><br />
    Flash is notorious for causing Firefox problems. I suggest you start a new thread about that. If at all possible you should try to avoid downgrading to an unsecure & unsupported version of Firefox. it will increase risks to your system and Personal data. (There are methods of mitigating the risks, using a virtual machine or operating within a secure intranet for instance)
    *(Do Not) [[Install an older version of Firefox]]
    <u>Try Flash with Protected Mode Off</u><br/>
    Worth a try as it takes minimal effort & often solves Flash Problems whilst allowing current and more secure FlashPlayer to be used. See
    * http://kb.mozillazine.org/Flash#Flash_Player_11.3_Protected_Mode_-_Windows
    * http://forums.adobe.com/thread/1018071#TemporaryWorkaround
    If you wish to pursue these subjects further I note you have already started a thread you may as well continue the discussion in that thread, but also post back here so we can follow both.
    * ''Firefox is having "Script" issues (Not Responding) und possibly Flash issues?'' [/questions/978181]
    ** try ensuring you close down Firefox using the menu, that may even help with Flash problems.
    <u>Your experience in submitting troubleshooting information on the forum</u><br />
    (This is out of curiosity, but with the intention of pressing for changes if forum faults are discovered.)
    There are yet more changes to this forum underway. Mozilla recently tried to improve the experience for first time users of the forum and a troubleshooting app option was included in the workflow to try to encourage users to submit full troubleshooting information.
    I would be interested to know what you thought
    I sometimes wonder if users are not trying to use that, or whether forum users run into problems in using it. At one point I wondered whether there was a problem if too much data was included but never actually proved that conjecture.
    Assuming you are using the forum, and not merely replying by email look towards the top in the right hand margin for clickable buttons
    * Question Details -V- More System Details -> [Additional System Details]
    You will note that includes only partial information. There are no changed prefs or extensions listed. Compare for instance the information in this thread [/questions/978130] with full information.
    I believe your mystery plugins are Windows related
    * NPWLPG relates usually to Windows Live Photo Gallery
    * 5.1.20913.0 will be Silverlight

  • How do I compile CVI librarys with GCC

    I am trying to compile with the CVI library using the cygwin/gcc compiler.
    When I link in c:/cvi/extlib/cvisupp.lib
    I get the following errors:
    /bin/ld: Warning: type of symbol `___ExeSymbols' changed from 776 to 264 in glbltbl.c
    /bin/ld: Warning: type of symbol `___UICallbackSymbols' changed from 776 to 264 in cbacktbl.c
    /bin/ld: Warning: type of symbol `___CVILibSymbols' changed from 776 to 264 in cvitbl.c
    /bin/ld: Warning: type of symbol `___ANSILibSymbols' changed from 776 to 264 in ansitbl.c
    collect2: ld returned 1 exit status

    You should try asking this on LabWindows CVI forum at http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=8&RFORMNUMBER=2&RHIDETAG=TRUE&UCATEGORY_0=_46&UCATEGORY_S=0
    Good luck

  • Pragma error when compiling with SDK X

    Hi,
    I am trying to compile my plugin application (which compiled fine with the previous sdk) using the SDK X, but receive errors in CAVAlert.h on the exception handler construct DURING, HANDLER, END_HANDLER.
    The errors are listed here:
    Headers/API/CAVAlert.h:156:3: error: 'suppress' was not declared in this scope
    Headers/API/CAVAlert.h:156:3: error: 'warning' was not declared in this scope
    Headers/API/CAVAlert.h:156:3: error: '__pragma' was not declared in this scope
    Headers/API/CAVAlert.h:156:3: error: expected ';' before 'jmp_buf'
    Headers/API/CAVAlert.h:156:3: error: 'ASException' was not declared in this scope
    Headers/API/CAVAlert.h:156:3: error: expected ')' before ':' token
    Headers/API/CAVAlert.h:156:3: error: expected ';' before 'struct'
    Headers/API/CAVAlert.h:162:3: error: request for member 'E_RETURNOutsideDURINGBlock' in 'gBadReturnCatcher', which is of non-class type 'int'
    Headers/API/CAVAlert.h:162:3: error: expected ')' before ':' token
    Headers/API/CAVAlert.h:162:3: error: expected ';' before 'int'
    Headers/API/CAVAlert.h:165:3: error: 'ENDHANDLEROutsideHANDLER' was not declared in this scope
    To compile against to SDK X all I did was:
    1) Used PIMain.c from the SDK X API directory.
    2) Changed ACRO_SDK_LEVEL=0x00090000 => ACRO_SDK_LEVEL=0x000A0000
    3) Changed the include directories to point to the new SDK X directories
    Is there another directive I must add to get the plugin to compile with SDK X?
    My preprocessor list is as follows:
    ACRO_SDK_LEVEL=0x000A0000
    HAVE_W32API_H
    PDMETADATA_HFT=1
    PLUGIN=1
    WIN32
    WIN_ENV
    WIN_PLATFORM
    WXUSINGDLL
    _CRT_SECURE_NO_DEPRECATE
    _DEBUG
    _WINDOWS
    __GNUWIN32__
    __WIN32__
    __WXMSW__
    Thank you,
    Magda

    Without seeing your code, I can't really help.
    If you want help with your code, open a formal support ticket.
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Tue, 6 Dec 2011 04:09:25 -0800
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: Pragma error when compiling with SDK X
    Pragma error when compiling with SDK X
    created by magdakuit<http://forums.adobe.com/people/magdakuit> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4066378#4066378

  • Codepage problem when compiling with fastjavac

    Hi,
    I'm getting the following warnings when compiling with fastjavac:
    fastjavac: warning: Can't find codepage for "Cp1250" encoding.
    fastjavac: warning: Use default ANSI codepage.
    2 warnings
    How could I suppress these warnings?
    Thanks in advance

    I think you are posting it on the wrong Forum. This is for Forte 4GL not Forte for Java.

  • Compiling CVI project with low-level input/outp​ut function under VC++

    when compiling I get:
    MIN69101.OBJ : error LNK2001: unresolved external symbol _read@12
    MIN69101.OBJ : error LNK2001: unresolved external symbol _write@12
    MIN69101.OBJ : error LNK2001: unresolved external symbol _lseek@12
    Release/minil.exe : fatal error LNK1120: 3 unresolved externals
    Error executing link.exe.
    minil.exe - 4 error(s), 0 warning(s)
    I think I need some libs.
    Who tell me what .lib I need?

    When you convert your existing CVI project, all external libs add automatically, you can see it in Project->Settings->Link.
    But they don't include low-level in/out function.
    If you use Dependency Walker you can see these functions in cvi-lvrt.dll, but not in cvi-lvrt.lib

  • Suppressing compiler-dependent warning when explicitly linking to DLLs?

    Hi, I'm creating a DLL in CVI 2009 that I want to link explicitly in an application that is also build in CVI 2009 using LoadLibrary() and GetProcAddress().  This is working fine for linking of functions, but for global variables I get a warning when building the application:
    "Warning: Conversion from 'FARPROC' to 'pointer to int' is compiler-dependent."
    What I'm doing is, in the DLL, in the exports .h file I define:
    extern int nnt_test;
    And in the DLL's .c file I declare the global like:
    int nnt_test = 465;
    And in the application's .c file I access the variable like such (after loading the library):
    int *g_test_varptr;
    g_test_varptr = (int*)GetProcAddress(g_nnt_dllinst, "nnt_test");
    This is the line where I get the compiler warning.  This method seems to work, as the application can see the value of the variable (465) and modify it and whatever it needs to do.  I'm not too terribly concerned if this doesn't work in other compilers as I don't plan on using an external compiler at this point.  Is there any way to suppress this warning so I don't have it popping up every time I build, or a better way of explictly linking global variables (other than creating Get/Set functions and linking those)?  Thanks!

    To answer my own question, recasting as void* first seems to elimate the compiler warning, i.e.:
    g_test_varptr = (int*)(void*)GetProcAddress(g_nnt_dllinst, "nnt_test");
    I just need to sit and think about these things for longer before I post.

Maybe you are looking for