# nur nen rotes X, Button1 notinited



## RoadRunner0 (23. Feb 2005)

Hallo, sorry das ich schon wieder nerve.

hab da nen Kleines Applet geschrieben vielleicht kann ja mal wer nen Blick drauf werfen und mir sagen was ich ständig falsch mach. 
und falls es denn mal klappt steht von anfang an ne nullpointerexception da, obwohl gar kein Wert auf null gesetzt is.


```
package s7;

import de.siemens.simaticnet.itcp.api.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.PrintStream;
import java.net.URL;

public class S7Button1 extends Applet
    implements ActionListener, MouseListener
{

    public S7Button1()
    {
        text = "aussen im Erdgeschoss";
        cursor = "hand";
        Datentyp = 1;
        WdhFaktor = 1;
        Speicherbereich = 131;
        DBNr = 0;
        SpeicherOffset = 6;
        BitNr = 0;
    }

    public void init()
    {
        setLayout(null);
        Button button = new Button(text);
        button.setBounds(0, 0, 100, 30);
        add(button);
        button.addActionListener(this);
        button.addMouseListener(this);
        String s = getParameter("Text");
        if(s != null)
            text = s;
        s = getParameter("Datentyp");
        if(s != null)
            Datentyp = Integer.parseInt(s);
        s = getParameter("WdhFaktor");
        if(s != null)
            WdhFaktor = Integer.parseInt(s);
        s = getParameter("Speicherbereich");
        if(s != null)
            Speicherbereich = Integer.parseInt(s);
        s = getParameter("DBNr");
        if(s != null)
            DBNr = Integer.parseInt(s);
        s = getParameter("SpeicherOffset");
        if(s != null)
            SpeicherOffset = Integer.parseInt(s);
        s = getParameter("BitNr");
        if(s != null)
            BitNr = Integer.parseInt(s);
        s = getParameter("Cursor");
        if(s != null)
            cursor = s.toLowerCase();
        if(cursor.equals("hand"))
            button.setCursor(new Cursor(12));
        else
        if(cursor.equals("default"))
            button.setCursor(new Cursor(0));
        S7CP s7cp = new S7CP();
        S7Device s7device = new S7Device();
        s7cp.setHost(getCodeBase().getHost());
        s7device.setRack(0);
        s7device.setSlot(2);
    }

    public void paint(Graphics g)
    {
        g.drawOval(7, 7, 336, 106); // is nur so zum spaß um zu sehn das er was macht
    }

    public void update(Graphics g)
    {
        paint(g);
    }

    public void mouseClicked(MouseEvent mouseevent)
    {
    }

    public void mouseEntered(MouseEvent mouseevent)
    {
    }

    public void mouseExited(MouseEvent mouseevent)
    {
    }

    public void mousePressed(MouseEvent e)
    {
        System.out.println("Maus gedrückt");                  //eigentlich wollt ich ja hier nen Merker auf 1 setzen
    }

    public void mouseReleased(MouseEvent mouseevent)
    {                                                                         //und hier wieder auf 0 aber so weit komm ich ja gar nicht
    }

    public void actionPerformed(ActionEvent a)
    {
        System.out.println("Action Event");
    }

    String text;
    String cursor;
    S7Variable s7var;
    int Datentyp;
    int WdhFaktor;
    int Speicherbereich;
    int DBNr;
    int SpeicherOffset;
    int BitNr;
}
```

Das war der Versuch ein funktionierendes Applet auf meine Bedürfnisse umzutexten, is wohl bisschen daneben gegangen.  :? 
bei bedarf kann ich sonst auch die s7*.jar files per mail zum anschauen geben.

Wer sich bis hier durchgeschlagen hat, vielen DANK.  :wink:


----------



## Wildcard (24. Feb 2005)

RoadRunner0 hat gesagt.:
			
		

> falls es denn mal klappt steht von anfang an ne nullpointerexception da


Währ doch ganz hilfreich zu wissen wo die Exception geworfen wird? 

```
S7CP s7cp = new S7CP(); 
        S7Device s7device = new S7Device(); 
        s7cp.setHost(getCodeBase().getHost()); 
        s7device.setRack(0); 
        s7device.setSlot(2);
```
Da ich das jar nicht hab, hab ich das auskommentiert, und das Applet läuft.


----------



## RoadRunner0 (24. Feb 2005)

Vielen Dank fürs Testen  

s7CP Bean ... Copyrigths
s7Device Bean ... Copyrights
und direkt darunter steht denn schon die NullPointer Exception und denn is die Konsole fertig damit
ohne richtig etwas dazu zu melden wie sonst immer, weil eigentlich wenn er nen Fehler findt kommen ja immer mind. 20 Zeilen darin


----------



## Wildcard (24. Feb 2005)

RoadRunner0 hat gesagt.:
			
		

> s7CP Bean ... Copyrigths
> s7Device Bean ... Copyrights
> und direkt darunter steht denn schon die NullPointer Exception



Das währ dann hier?

```
s7cp.setHost(getCodeBase().getHost());
```
Schon geDebugged?
wird wohl daran liegen:

```
getCodeBase().getHost()
```
Kann ich dir eben nichts zu sagen ohne die Klassen zu kennen.


----------



## L-ectron-X (24. Feb 2005)

Sieht so aus, als wenn eine Komponente nicht verfügbar wäre.
Z.B. eine Klasse oder eine Grafik.


----------



## RoadRunner0 (24. Feb 2005)

habs ja mit VisualAge 4 kompiliert auch mit die jar Files importieren aber sowie ich das ding auf den server wos drauf laufen soll schieb, geht das von vorne los.

JAR Files kann ich dir gern zuschicken das nützt aber nix weil der webServer(SPS) nicht an is. Steht in der Uni und wenn ich nicht da bin, soll das Teil aus sein.

Nu hab ich auch noch nen Update der jar Files gemacht und nu führt das ganze irgendwie nen eigenleben wenn ich Rack und Slot setze, hat ers ne halbe minute später wieder selbst überschrieben mit falschen werten


----------



## RoadRunner0 (24. Feb 2005)

aber fürs setzen und gleich wieder rücksetzen der Merker hab ich jetz nen umweg genommen. hab den Thread über JavaScript hier gesehen und nu setz ich meine Werte darüber. Klappt richtig gut.
Wieviele Applets dürfen eigentlich auf einer WebSite laufen? Gibts da nen Höchstwert weil 8 hab ich schon drin.


----------

