Zum Inhalt springen

Sylvihasi

Mitglieder
  • Gesamte Inhalte

    15
  • Benutzer seit

  • Letzter Besuch

Beiträge von Sylvihasi

  1. Keine Chance habe die .a zu einer .so neu compiliert. Habe die 2. .so neu compiliert und versucht mein Jar-File zu starten.

    Ich habe es auch mit dem :

    java -Djava.library.path=/Sylvi/norm_solaris/ -cp norm.jar package.Start 12345678

    java -Djava.library.path=./ -cp norm.jar package.Start 12345678

    ---------------------------------------------------------------

    Aber es läuft wieder auf den java.lang.UnsatisfiedLinkError hinaus.

    Ich weis nicht mehr wo das Jar noch sucht. Doch leider muss ich den Fehler bis morgen finden.

    In welchem Pfad sucht Java auf Solaris eine C++Library ???

    :(

    LG Sylvi

  2. Hallo,

    danke -lnorm war sehr gut !!!

    Aber inzwischen hat er zwar kein Problem mehr mit der Library aber macht folgenden Fehler:

    ld: Warnung: -Datei /Sylvi/src/library/libnorm.a(norm00.o): falscher ELF-Rechnertype: EM_SPARC

    Kann das vielleicht daran liegen, dass die libnorm-a auf einem SPARC Solaris compiliert wurde und ich ein x86 habe ?

  3. Hallo,

    ich wusste gar nicht, das eine .a keine shared lib ist.

    Ich hab versucht sie so mit -L /Sylvi/src/library -lnormlib einzubinden, nur dann ha der g++ gesagt er kann die Library nicht finden.

    Und wenn ich nur -L angebe macht er zwar keine Fehler, aber ich glaube

    er hat sie nicht genommen.

    Kann ich irgendwie herausbekommen, ob er sie eingebunden hat bzw mir die Exports anschaun ?

    LG Sylvi

  4. Hallo,

    ich habe auf Solaris c++ Sourcen compiliert zu einer Shared Library und mit -L ein Verzeichnis angeben, in dem eine normlib.a Datei ist aber kein -l hinzugebe nimmt er diese dann als Library.

    Denn ich habe das Problem, dass er die normlib.a nicht finden konnte, wenn ich diese mit -l angegeben habe (mit Pfad, ohne, mit ./ ).

    --> pwd: /usr/sfw/bin

    ./g++ /Sylvi/scr/norm.cpp -I /Sylvi/src/include -L /Sylvi/src/library

    -G -o lib.so

    (im src : norm.cpp | im src/include: jni.h, jni_md.h, norm.h |

    im src/library: normlib.a)

    Oder habe ich bei der Compilierung etwas falsch gemacht?

    :confused:

    LG Sylvi

  5. Hallo,

    vielleicht könnt ihr mir ja helfen.

    Wenn ich auf Solaris c++ Sourcen compiliere und mit -L ein Verzeichnis angebe, in dem eine normlib.a Datei ist aber kein -l hinzugebe nimmt er diese dann als Library.

    Kann ich mir daher irgendwie die Exportfunktionen meiner lib.so ausgeben lassen (auf Win beispielsweise mit dem Depency Walker) um dies zu prüfen ?

    LG Sylvi

  6. Hallo,

    ich versuche derzeit ein auf Windows geschriebenes Java Native Interface (JNI) Projekt (1Jar, 2DLL's) auf Solaris zu portieren.

    Mein Jar-File funktioniert einwandfrei.

    Eine dll wurde von einem ehemaligen Kollegen als normlib.a auf Solaris portiert.

    Ich habe nun ein weiteres c++ File geschrieben, welches die JNI-Funktionalität beinhaltet und zusätzlich die

    schon vorhandene normlib.dll bzw das normlib.a als Library verwendt.

    Auf Windows funktioniert dies auch einwandfrei.

    Nur auf Solaris...

    Ich habe mein c++ File zu einem lib.so umgewandelt (aber weis nicht ob alles richtig eingebunden ist).

    Wenn ich nun mein Jar-File aufrufe kommt ein

    java.lang.UnsatisfiedLinkError: no lib in java.library.path

    at java.lang.ClassLoader.loadLibrary

    ...

    Daher ich glaube das ich einfach einen Path nicht richtig gesetzt habe und er das so-File in einem ganz

    anderen Verzeichnis als dem aktuellen sucht.

    --> Was muss ich denn alles gesetzt haben ? PATH,... ?

    Oder das die Compilierung meiner c++ Sourcen nicht stimmte.

    --> pwd: /usr/sfw/bin

    ./g++ /Sylvi/scr/norm.cpp -I /Sylvi/src/include -L /Sylvi/src/library

    -G -o lib.so

    (im src : norm.cpp | im src/include: jni.h, jni_md.h, norm.h |

    im src/library: normlib.a)

    Ich brauche dringend Hilfe !!!

    :confused:

    Danke Sylvi

  7. Hallo,

    ich versuche derzeit ein auf Windows geschriebenes Java Native Interface (JNI) Projekt (1Jar, 2DLL's) auf Solaris zu portieren.

    Mein Jar-File funktioniert einwandfrei.

    Eine dll wurde von einem ehemaligen Kollegen als normlib.a auf Solaris portiert.

    Ich habe nun ein weiteres c++ File geschrieben, welches die JNI-Funktionalität beinhaltet und zusätzlich die

    schon vorhandene normlib.dll bzw das normlib.a als Library verwendt.

    Auf Windows funktioniert dies auch einwandfrei.

    Nur auf Solaris...

    Ich habe mein c++ File zu einem lib.so umgewandelt (aber weis nicht ob alles richtig eingebunden ist).

    Wenn ich nun mein Jar-File aufrufe kommt ein

    java.lang.UnsatisfiedLinkError: no lib in java.library.path

    at java.lang.ClassLoader.loadLibrary

    ...

    :confused:

    Daher ich glaube das ich einfach einen Path nicht richtig gesetzt habe und er das so-File in einem ganz

    anderen Verzeichnis als dem aktuellen sucht.

    --> Was muss ich denn alles gesetzt haben ? PATH,... ?

    Oder das die Compilierung meiner c++ Sourcen nicht stimmte.

    --> pwd: /usr/sfw/bin

    ./g++ /Sylvi/scr/norm.cpp -I /Sylvi/src/include -L /Sylvi/src/library

    -G -o lib.so

    (im src : norm.cpp | im src/include: jni.h, jni_md.h, norm.h |

    im src/library: normlib.a)

    Ich brauche dringend Hilfe !!!

    :confused:

    Danke Sylvi

  8. Hallo,

    hier der Quellcode verkürzt:

    :mod:

    
    import javax.swing.*;
    
    import java.awt.*;
    
    import java.awt.event.*;
    
    
    public class TestLayout extends JFrame 
    
    {
    
        public TestLayout() 
    
        {init();}
    
    
        private JPanel MainPanel, CenterPanel, EastPanel, CenterNorthPanel, CenterCenterPanel, CenterSouthPanel;
    
        private JPanel CenterCenterNorthPanel, CenterCenterCenterPanel, CenterSouthNorthPanel, CenterSouthCenterPanel;
    
    
        private JMenuBar mb_funktions;
    
    
        private JMenu m_file, m_info;
    
    
        private JMenuItem mi_close;
    
    
        private JTextField txf_sorttxt3, txf_sorttxt4, txf_sorttxt5, txf_barcode, txf_s, txf_error;
    
        private JTextField txf_e, txf_mf_new, txf_mf_old, txf_sortart1, txf_sortart2, txf_sortart3, txf_sortart4;
    
        private JTextField txf_sortart5, txf_sorttxt1, txf_sorttxt2, txf_nb, txf_print, txf_sf_new, txf_sf_old;
    
    
        private JLabel lb_ausgabe, lb_barcode, lb_bspausgabe, lb_bspe, lb_s, lb_empty1;
    
        private JLabel lb_empty2, lb_error, lb_e, lb_mf_new, lb_mf_old, lb_sort, lb_sortart;
    
        private JLabel lb_sorttxt, lb_nb, lb_print, lb_sf_new, lb_sf_old;
    
    
        private JButton btn_checkezn;  
    
    
        private void init() {
    
            MainPanel = new JPanel();
    
            CenterPanel = new JPanel();
    
            EastPanel = new JPanel();
    
            CenterNorthPanel = new JPanel();
    
            CenterCenterPanel = new JPanel();
    
            CenterSouthPanel = new JPanel();
    
            CenterCenterNorthPanel = new JPanel();
    
            CenterCenterCenterPanel = new JPanel();
    
            CenterSouthNorthPanel = new JPanel();
    
            CenterSouthCenterPanel = new JPanel();
    
    
            mb_funktions = new JMenuBar();
    
    
            m_file = new JMenu();
    
            m_info = new JMenu();
    
    
            mi_close = new JMenuItem();
    
    
            lb_empty1 = 	new JLabel();
    
            lb_bspe = new JLabel();
    
            lb_e = new JLabel();
    
            lb_s = new JLabel();
    
            lb_sort = new JLabel();
    
            lb_sortart = new JLabel();
    
            lb_sorttxt = new JLabel();
    
            lb_ausgabe = new JLabel();
    
            lb_empty2 = 	new JLabel();
    
            lb_bspausgabe = new JLabel();
    
            lb_mf_new = new JLabel();
    
            lb_mf_old = new JLabel();
    
            lb_sf_new = new JLabel();
    
            lb_sf_old = new JLabel();
    
            lb_print = new JLabel();
    
            lb_nb = new JLabel();
    
            lb_barcode = new JLabel();
    
            lb_error = new JLabel();
    
    
            txf_e = new JTextField(31);
    
            txf_s = new JTextField(2);
    
            txf_mf_new = new JTextField();
    
            txf_mf_old = new JTextField();
    
            txf_sf_new = new JTextField();
    
            txf_sf_old = 	new JTextField();
    
            txf_print = new JTextField();
    
            txf_barcode = new JTextField();
    
            txf_nb = new JTextField();
    
            txf_error = new JTextField();
    
            txf_sortart1 = new JTextField(1);
    
            txf_sorttxt1 = new JTextField(31);
    
            txf_sortart2 = new JTextField(1);
    
            txf_sorttxt2 = new JTextField(31);
    
            txf_sortart3 = new JTextField(1);
    
            txf_sorttxt3 = new JTextField(31);
    
            txf_sortart4 = new JTextField(1);
    
            txf_sorttxt4 = new JTextField(31);
    
            txf_sortart5 = new JTextField(1);
    
            txf_sorttxt5 = new JTextField(31);
    
    
            btn_checkezn = new JButton();
    
    
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    
            setName("frame");
    
            setSize(500, 450);
    
    
            setJMenuBar(mb_funktions);
    
            mb_funktions.add(m_file);
    
            mb_funktions.add(m_info);
    
    
            m_file.add(mi_close);
    
    
            MainPanel.setLayout(new BorderLayout());
    
            MainPanel.add(CenterPanel, BorderLayout.CENTER);
    
            MainPanel.add(EastPanel, BorderLayout.EAST);
    
            getContentPane().add(MainPanel, BorderLayout.CENTER);
    
    
            CenterPanel.setLayout(new BorderLayout());
    
            CenterPanel.add(CenterNorthPanel, BorderLayout.NORTH);
    
            CenterPanel.add(CenterCenterPanel, BorderLayout.CENTER);
    
            CenterPanel.add(CenterSouthPanel, BorderLayout.SOUTH);
    
    
            EastPanel.add(btn_checkezn);
    
    
            CenterNorthPanel.setLayout(new GridLayout(3, 2, 1, 1));
    
            CenterNorthPanel.add(lb_empty1);
    
            CenterNorthPanel.add(lb_bspe);
    
            CenterNorthPanel.add(lb_e);
    
            CenterNorthPanel.add(txf_e);
    
            CenterNorthPanel.add(lb_s);
    
            CenterNorthPanel.add(txf_s);
    
    
            CenterCenterPanel.setLayout(new BorderLayout());
    
            CenterCenterPanel.add(CenterCenterNorthPanel, BorderLayout.NORTH);
    
            CenterCenterPanel.add(CenterCenterCenterPanel, BorderLayout.CENTER);
    
    
            CenterCenterNorthPanel.add(lb_sort); 
    
    
            CenterCenterCenterPanel.setLayout(new GridLayout(6, 2, 1, 1));
    
            CenterCenterCenterPanel.add(lb_sortart);
    
            CenterCenterCenterPanel.add(lb_sorttxt);
    
            CenterCenterCenterPanel.add(txf_sortart1);
    
            CenterCenterCenterPanel.add(txf_sorttxt1);
    
            CenterCenterCenterPanel.add(txf_sortart2);
    
            CenterCenterCenterPanel.add(txf_sorttxt2);
    
            CenterCenterCenterPanel.add(txf_sortart3);
    
            CenterCenterCenterPanel.add(txf_sorttxt3);
    
            CenterCenterCenterPanel.add(txf_sortart4);
    
            CenterCenterCenterPanel.add(txf_sorttxt4);
    
            CenterCenterCenterPanel.add(txf_sortart5);
    
            CenterCenterCenterPanel.add(txf_sorttxt5);
    
    
            CenterSouthPanel.setLayout(new BorderLayout());
    
            CenterSouthPanel.add(CenterSouthNorthPanel, BorderLayout.NORTH);
    
            CenterSouthPanel.add(CenterSouthCenterPanel, BorderLayout.CENTER);
    
    
            CenterSouthNorthPanel.add(lb_ausgabe);
    
    
            CenterSouthCenterPanel.setLayout(new GridLayout(9, 2));
    
            CenterSouthCenterPanel.add(lb_empty2);
    
            CenterSouthCenterPanel.add(lb_bspausgabe);
    
            CenterSouthCenterPanel.add(lb_mf_new);
    
            CenterSouthCenterPanel.add(txf_mf_new);
    
            CenterSouthCenterPanel.add(lb_mf_old);
    
            CenterSouthCenterPanel.add(txf_mf_old);
    
            CenterSouthCenterPanel.add(lb_sf_new);
    
            CenterSouthCenterPanel.add(txf_sf_new);
    
            CenterSouthCenterPanel.add(lb_sf_old);
    
            CenterSouthCenterPanel.add(txf_sf_old);
    
            CenterSouthCenterPanel.add(lb_print);
    
            CenterSouthCenterPanel.add(txf_print);
    
            CenterSouthCenterPanel.add(lb_barcode);
    
            CenterSouthCenterPanel.add(txf_barcode);
    
            CenterSouthCenterPanel.add(lb_nb);
    
            CenterSouthCenterPanel.add(txf_nb);
    
            CenterSouthCenterPanel.add(lb_error);
    
            CenterSouthCenterPanel.add(txf_error);
    
    
            lb_bspe.setText("1234567890123456789012345678901");
    
            lb_e.setText("E-Nr.:");
    
            lb_s.setText("S-Nr:");
    
            lb_sort.setFont(new Font("MS Sans Serif", 1, 14));
    
            lb_sort.setText("Sort-Texte");
    
            lb_sortart.setText("Sort-Text-Art/code");
    
            lb_sorttxt.setText("Sort-Text");
    
            lb_bspausgabe.setText("1234567890123456789012345");
    
            lb_ausgabe.setFont(new Font("MS Sans Serif", 1, 14));
    
            lb_ausgabe.setText("Ausgabeformen");
    
            lb_mf_new.setText("Ma-Form new");
    
            lb_mf_old.setText("Ma-Form old");
    
            lb_sf_new.setText("So-Form new");
    
            lb_sf_old.setText("So-Form old");
    
            lb_print.setText("Druck-Form");
    
            lb_barcode.setText("Barcode-Form");
    
            lb_nb.setText("Nb");
    
            lb_error.setText("Fehler");
    
    
            txf_s.setText("AA");
    
            //txf_controlbyte.setDocument(new JTextFieldLimit(2));
    
            txf_mf_new.setEditable(false);
    
            txf_mf_old.setEditable(false);
    
            txf_sf_new.setEditable(false);
    
            txf_sf_old.setEditable(false);
    
            txf_print.setEditable(false);
    
            txf_barcode.setEditable(false);
    
            txf_nb.setEditable(false);
    
            txf_error.setEditable(false);
    
    
            btn_checkezn.setText("Eingabe pr\u00fcfen");
    
            btn_checkezn.setAlignmentX(0.5F);
    
    
            m_file.setText("Datei");
    
            m_info.setText("Info");
    
    
            mi_close.setText("close");
    
            mi_close.addActionListener(new ActionListener() {
    
                public void actionPerformed(ActionEvent evt) {
    
                	mi_closeActionPerformed(evt);
    
                }
    
            });
    
    
            setVisible(true);
    
            pack();
    
            addWindowListener(new WindowAdapter() 
    
            		{
    
            			public void windowClosing(WindowEvent we) 
    
            			{
    
            					System.out.println("Closing Window ...");
    
            					System.exit(0);
    
            			}
    
            		});
    
        }
    
    
        public static void main(String args[]) {
    
        	TestLayout tl = new TestLayout();
    
    		tl.setVisible(true);
    
    		tl.init();
    
        }    
    
    }

    jede Sort-Text-Art : 1 Zeichen

    S-Nr: 2 Zeichen

    jeder Sort-Text : 31 Zeichen

    E-Nr: 31 Zeichen

    ______________________________________________

    Leider brauche ich aber genau die Anordnung, also vielleicht hat noch einer ne Ahnung.

    LG Sylvi :rolleyes:

  9. Hallo,

    ich habe in meinem Programm einige JTextFields auf meinen Panels angeordnet.

    Nun möchte ich jedoch, dass diese nur eine bestimmte Größe (Länge) haben.

    public JTextField txf_test;

    txf_test = new JTextField(6);

    txf_test.setText("BlaBla");

    Mein txf_test wird jedoch viel länger dargestellt und ich kann auch viel mehr eingeben.

    Wie kann ich es so ändern, dass in das txf_test nur 6 Zeichen eingegeben werden können und es auch nur so groß angezeigt wird ?

    Ich habe es auch schon mit der java.swing.text.PlainDocument class wie auf: http://www.codeguru.com/java/articles/444.shtml beschrieben versucht aber irgendwie ändert sich nichts und zusätzlich wird meine Texteingabe herausgelöscht bzw. nicht mehr angezeigt.

    //txf_test.setDocument(new JTextFieldLimit(6));

    Cu Sylvi :confused:

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...