# Lebensdauer von Attributen und Variablen



## Heiko (15. Jul 2004)

So hier hab ich das Problem näher eingrenzen können, ich hoffe diesmal kann mir jemand helfen.

In der folgenden Methode wird ein Vektor befüllt und in ein Array umgewandelt. Das geschieht in einem Servlet.

Der Vektor wurde von mir zuvor mit 
	
	
	
	





```
private Vector vektor =new Vector(100);
```
 initialisiert.

Beim ersten Durchlauf des Servlet stimmt die Ausgabe und die Verarbeitung.
Bei den folgenden Durchläufen gibt es ein Problem, der Vector vektor scheint irgendwo im Speicher zu hängen, denn die neuen Ausgaben zeigen die alten Ergebnisse, erweitert um die Neuen, die in der Methode streamLesen hinzugefügt wurden.

Was kann ich da tun?
Ich bin für jeden Hinweis dankbar, auch wenn er noch so klein ist!


```
public void streamLesen(
		BufferedReader file,
		String datei,
		HttpServletRequest request)
	{
		try
		{

			String ausgabe = "";
			String zeile;
			String ziffern;
			String[] zeilen;
			int count = 1;

			//Ausgabe in der Konsole
			System.out.println(datei);

			//Schleife, die die Datei Zeilenweise erfasst
			while ((zeile = file.readLine()) != null)
			{
				int schleife = zeile.indexOf("rb.getString(");
				int anfang = 0;
				int temp = 0;

				//Schleife, die die Zeilen durchsucht
				while (schleife >= 0)
				{
					if (temp == 0)
					{
						temp = schleife;
					}

					int beginn = zeile.indexOf("rb.getString(", temp);
					temp = beginn + 1;

					if (beginn >= 0)
					{
						anfang = zeile.indexOf("\"", beginn);
					} else
					{
						schleife = -1;
					}
					int ende = anfang + 5;

					//Auslesen der gewünschten Informationen
					if (ende >= beginn)
					{
						if (beginn >= 0)
						{
							ende = zeile.indexOf("\")", beginn);

							ziffern = zeile.substring(anfang + 1, ende);
							Integer Iziffern =
								new Integer(Integer.parseInt(ziffern));
							int pos;

							//Ausgabe in der Konsole
							ausgabe = ziffern + " " + datei;

							//Befüllt den Vektor mit den Werten aus der Datei
							//inklusive der richtigen Dateinamen
							if ((pos = vektor.indexOf(Iziffern)) >= 0)
							{
								Object obj = vektor.get(pos + 1);
								String wert = obj.toString();
								if (wert.indexOf(datei) < 0)
								{
									Object object = vektor.get(pos + 1);
									String einfueg =
										datei + ", " + object.toString();
									vektor.set(pos + 1, einfueg);
								}

							} else
							{
								vektor.add(Iziffern);
								vektor.add(datei);
							}
							//Ausgabe in der Konsole
							System.out.println(ausgabe);
						}
					}
				}
				count++;
			}
			String[] zuHtml = erstellArray(vektor);
			request.setAttribute("zuHtml", zuHtml);
		} catch (Exception e)
		{
			System.out.println("Fehler in Methode StreamLesen");
		}
	}

	public String[] erstellArray(Vector vektor)
	{
		System.out.println("Vektorinhalt: " + vektor.toString());
		Vector neu = new Vector(100);
		ungenutzt = new Vector(100);
		String temp1 = "", temp2 = "", satz = "";
		for (int i = 0; i < vektor.size(); i++)
		{
			//Holt sich die Ziffernfolge aus dem Vektor
			Object obj1 = vektor.get(i);
			temp1 = obj1.toString();
			i++;

			//Macht die Ziffernfolgen wieder 4-stellig
			for (int j = 0; j < temp1.length(); j++)
			{
				if (temp1.length() < 4)
				{
					temp1 = "0" + temp1;
				}
			}
			//Holt sich die Dateinamen aus dem Vektor
			Object obj2 = vektor.get(i);
			temp2 = obj2.toString();
			temp1.trim();
			temp2.trim();
			satz = temp1 + " " + temp2;
			neu.add(satz);
			ungenutzt.add(obj1);
		}
		int kapazitaet = neu.size();
		//Sortiert den Vektor
		Collections.sort(neu);
		Collections.sort(ungenutzt);
		String[] vektorInhalt = new String[kapazitaet];
		for (int i = 0; i < vektorInhalt.length; i++)
		{
			vektorInhalt[i] = neu.get(i).toString();
		}

		return vektorInhalt;
	}
```


----------



## meez (15. Jul 2004)

Uhhmm...Das kann man sicher ein wenig schöner lösen...Poste mal die Datei, welche du einliest, und was du genau ausgeben willst..


----------



## Heiko (15. Jul 2004)

Was genau möchtest du?

Die Methode in der ich den Stream einlese? Ich lese nicht nur eine Datei ein, das ist flexibel.


----------



## meez (15. Jul 2004)

Den Inhalt der Datei...


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> Den Inhalt der Datei...



Hier ein Teil des Codes von einer Dateien, die eingelesen werden können (wenn es der Benutzer auswählt)


```
private Table generateTableAllgemein(
		String[] headlines,
		String[] columnText,
		java.text.DecimalFormat decform,
		Tr_knzvalExBean exb,
		Tr_knzvalExBean exbvorp)
		throws AnwendungsFehlerException
	{

		Table pdt = null;

		try
		{
			pdt = new Table(3);
			pdt.setWidths(new float[] { 50, 25, 25 });
			pdt.setTableFitsPage(true);
			pdt.setBorderWidth(2);
			pdt.setPadding(1);
			pdt.setSpacing(1);

			Cell cell = new Cell(headlines[0]);
			cell.setHeader(true);
			cell.setHorizontalAlignment(cell.ALIGN_CENTER);
			cell.setColspan(3);
			cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
			pdt.addCell(cell);

			cell = new Cell(headlines[1]);
			cell.setHeader(true);
			cell.setColspan(1);
			pdt.addCell(cell, 1, 1);
			cell = new Cell(headlines[2]);
			cell.setHeader(true);
			cell.setColspan(1);
			pdt.addCell(cell);
			if (columnText.length >= 1)
			{
				pdt.addCell(columnText[0]);
				if (exb.getW01() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW01().intValue()));
				if (exbvorp.getW01() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW01().intValue()));
			}
			if (columnText.length >= 2)
			{
				pdt.addCell(columnText[1]);
				if (exb.getW02() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW02().intValue()));
				if (exbvorp.getW02() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW02().intValue()));
			}
			if (columnText.length >= 3)
			{
				pdt.addCell(columnText[2]);
				if (exb.getW03() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW03().intValue()));
				if (exbvorp.getW03() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW03().intValue()));
			}
			if (columnText.length >= 4)
			{
				pdt.addCell(columnText[3]);
				if (exb.getW04() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW04().intValue()));
				if (exbvorp.getW04() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW04().intValue()));
			}
			if (columnText.length >= 5)
			{
				pdt.addCell(columnText[4]);
				if (exb.getW05() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW05().intValue()));
				if (exbvorp.getW05() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW05().intValue()));
			}
			if (columnText.length >= 6)
			{
				pdt.addCell(columnText[5]);
				if (exb.getW06() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW06().intValue()));
				if (exbvorp.getW06() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW06().intValue()));
			}
			if (columnText.length >= 7)
			{
				pdt.addCell(columnText[6]);
				if (exb.getW08() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW07().intValue()));
				if (exbvorp.getW07() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW07().intValue()));
			}
			if (columnText.length >= 8)
			{
				pdt.addCell(columnText[7]);
				if (exb.getW08() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW08().intValue()));
				if (exbvorp.getW08() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW08().intValue()));
			}
			if (columnText.length >= 9)
			{
				pdt.addCell(columnText[8]);
				if (exb.getW09() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW09().intValue()));
				if (exbvorp.getW09() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW09().intValue()));
			}
		} catch (BadElementException bee)
		{
			throw new AnwendungsFehlerException(bee.getMessage(), "Trimzahlen", this, "generateTableAllgemein", " ");
		}

		return pdt;
	}

						pdt.addCell(decform.format(exb.getW03().intValue()));
				if (exb.getW04() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW04().intValue()));

				if (exbvorp.getW03() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW03().intValue()));
				if (exbvorp.getW04() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW04().intValue()));
			}
			if (columnText.length >= 3)
			{
				pdt.addCell(columnText[2]);
				if (exb.getW05() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW05().intValue()));
				if (exb.getW06() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW06().intValue()));

				if (exbvorp.getW05() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW05().intValue()));
				if (exbvorp.getW06() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW06().intValue()));
			}
			if (columnText.length >= 4)
			{
				pdt.addCell(columnText[3]);
				if (exb.getW07() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW07().intValue()));
				if (exb.getW08() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW08().intValue()));

				if (exbvorp.getW07() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW07().intValue()));
				if (exbvorp.getW08() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW08().intValue()));
			}
			if (columnText.length >= 5)
			{
				pdt.addCell(columnText[4]);
				if (exb.getW09() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW09().intValue()));
				if (exb.getW10() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW10().intValue()));

				if (exbvorp.getW09() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW09().intValue()));
				if (exbvorp.getW10() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exbvorp.getW10().intValue()));
			}
			if (columnText.length >= 6)
			{
				pdt.addCell(columnText[5]);
				if (exb.getW11() == null)
					pdt.addCell(kba);
				else
					pdt.addCell(decform.format(exb.getW11().intValue()));
				if (exb.getW12() == null)
					pdt.addCell(kba);
```


----------



## meez (15. Jul 2004)

Und du willst alle Werte auslesen, sortiern und in einen String-Array schreiben, welche in den Radiobutton gesetzt werden? (rb.getString())


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> Und du willst alle Werte auslesen, sortiern und in einen String-Array schreiben, welche in den Radiobutton gesetzt werden? (rb.getString())



Ja das sind Ressourceboundles, deren Werte ich auslesen soll und in einen Vektor einlese, dabei soll immer der Wert des Rb (z.B. 0185) und der Dateiname stehen.
Da es bis zu 100 Dateien sind, die ausgelesen werden können, und keine doppelten Werte bei den Ziffernfolgen entstehen dürfen, müssen die Dateinamen hintereinander geschrieben werden, daher wird das ja anhand der Ziffern überprüft, die bereits im Vektor gespeichert sind.

Zum Schluß, wenn die Abfrage über alle Dateien gelaufen ist wird das zusammengesetzt und in einem JSP ausgegeben im HTML Format.


----------



## meez (15. Jul 2004)

So ?



```
public void streamLesen() throws Exception {
      
            Hashtable values = new Hashtable();
            String datei="datei";
            String value, key;
            int n,i ;
            String[] zuHTML;
            Vector vector = new Vector();
            
            BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(datei)));
      
            n=-1;
            i=-1;
            for (String buffer;(buffer = in.readLine()) != null;) {
                  if ((n = buffer.indexOf("rb.getString(\"")) < 0 ||  (i= buffer.indexOf("\");", n + 1)) < 0)
                        continue;
                  n += "rb.getString(\"".length();                  
                  //Wert ermitteln
                  value = buffer.substring(n,i);
                  if (vector.indexOf(value + " " + datei) < 0)
                        vector.add(value + " " + datei);
                        
            }
	    
            
            java.util.Collections.sort(vector);
            zuHTML = (String[]) vector.toArray();
      
      }
```


----------



## meez (15. Jul 2004)

Wenn du deas Problem mit den alten Einträgen lösen willst, musst du noch irgendwo mal ein vector.clear() einbauen...


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> Wenn du deas Problem mit den alten Einträgen lösen willst, musst du noch irgendwo mal ein vector.clear() einbauen...



Bei vector.clear brachte er mir immer eine ArrayIndexoutofBoundException -1

Ich schau mir mal deine Version an, wie hast du die so kurz hinbekommen? ;-)


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> So ?
> 
> 
> [
> ...




Das wird nicht funktionieren, da ich ja mehrere Dateien einlese und nciht in jeder Datei die gleichen Boundles vorkommen.

Was hast du eigentlich mit der Hashtable vor? Das habe ich noch nciht verstanden.


----------



## meez (15. Jul 2004)

Die Hashtbale wird nicht verwendet...



```
public void read() throws Exception {
      
            Hashtable values = new Hashtable();
            String datei="datei";
            String value, key;
            int n,i ;
            String[] zuHTML;
            Vector vector = new Vector();
            
            BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(datei)));
      
            n=-1;
            i=-1;
            for (String buffer;(buffer = in.readLine()) != null;) {
                  if ((n = buffer.indexOf("rb.getString(\"")) < 0 ||  (i= buffer.indexOf("\");", n + 1)) < 0)
                        continue;
                  n += "rb.getString(\"".length();                  
                  //Wert ermitteln
                  value = buffer.substring(n,i);
                 
		  for (n=0;n<vector.size();n++) {
		        if (! ((String) vector.get(n)).startsWith(value + " "))
                              vector.add(value + " " + datei);
		  }
                        
            }
```


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> Die Hashtbale wird nicht verwendet...
> 
> 
> 
> ...



Danke das schaue ich mir gleich mal an und probiere es durch. Ich melde mich wie das Ergebnis war.
Danke schonmal!


----------



## meez (15. Jul 2004)

Das nicht vergessen..


```
java.util.Collections.sort(vector);
 zuHTML = (String[]) vector.toArray();
```


----------



## Heiko (15. Jul 2004)

So ich habe es ausprobiert und folgender Fehler ist aufgetreten (derselbe, wie bei mir, als ich versuchte den Vector in der Methode zu deklrieren).

Mein Erklärungsversuch:

Ich fürchte, dass dadurch der Vector nicht an die Methode erstellArray übergeben wird, denn nach Kontrollausgaben von Werten habe ich herausgefunden, dass bei der Übergabe nur ein leerer Vektor ankommt und daher gibt es eine Exception.

Es kann doch nicht sein, dass das nicht zu machen ist, oder lieg ich jetzt völlig falsch?


```
E SRVE0026E: [Servlet-Fehler]-[-1]: java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.Vector.get(Vector.java(Compiled Code))
	at heiko2.Analyse.erstellArray2(Analyse.java:383)
	at org.apache.jsp._Ausgabe._jspService(_Ausgabe.java:88)
	at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:364)
	at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:694)
	at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:792)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
	at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
	at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
	at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
	at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:923)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:528)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
	at heiko2.Analyse.doGet(Analyse.java:80)
	at heiko2.Analyse.doPost(Analyse.java:111)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
	at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
	at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
	at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
	at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:923)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:528)
	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
	at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
	at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201)
	at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
	at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
	at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
	at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
	at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
	at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:516)
	at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:366)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
```


----------



## meez (15. Jul 2004)

Die Methode erstlell Array brauchst du doch nicht mehr...., Das macht dieser Teil:  zuHTML = (String[]) vector.toArray();


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> Die Methode erstlell Array brauchst du doch nicht mehr...., Das macht dieser Teil:  zuHTML = (String[]) vector.toArray();



Jetzt hab ich ne NullpointerException.

Habe jetzt einige Male rumprobiert, unteranderem so, dass ich die size vom Vector ausgegeben habe ehe der Fehler auftritt.

Dabei ist folgendes aufgefallen, wenn die Variable lokal deklariert ist dann ist die size 0 und die Exception kommt, wenn sie global deklariert ist funktioniert es aber eben mein Problem bleibt.


----------



## bygones (15. Jul 2004)

meez hat gesagt.:
			
		

> Die Methode erstlell Array brauchst du doch nicht mehr...., Das macht dieser Teil:  zuHTML = (String[]) vector.toArray();


habe nicht die ganze Diskussion mitverfolgt - aber um einen Array aus einer Collection zu machen muss immer der Typ des Arrays mitgegebene werden

```
String[] strings = (String[])vector.toArray(new String[vector.size()]);
```


----------



## meez (15. Jul 2004)

deathbyaclown hat gesagt.:
			
		

> meez hat gesagt.:
> 
> 
> 
> ...



Stimmt...Hab ich vergessen zu schreiben...


----------



## Heiko (15. Jul 2004)

meez hat gesagt.:
			
		

> deathbyaclown hat gesagt.:
> 
> 
> 
> ...



Mal versuchen, habe keine Bestätigung erhalten, daher seh ich den Eintrag jetzt erst. melde mich gleich wieder.

Das funktioniert, aber das Variablenproblem besteht noch, habe eben aber ne Idee, ich geb bescheid, wie sie geklappt hat, bzw ob. ;-)


----------



## Heiko (15. Jul 2004)

Jetzt geht gar nix mehr, mein Programm ist im Eimer.

Der Tag hat sich gelohnt.  :bahnhof:


----------



## Heiko (16. Jul 2004)

Jetzt läuft mein Programm wieder, und ich kann jetzt auch den Vector mit clear löschen, hatte bisher nur an der falschen Stelle diesen Befehl eingesetzt.

Wenn ich jetzt noch rechtzeitig die Benutzerfehler abfangen kann, dann läuft mein Programm.  

Danke für eure Geduld und die Hilfe!


----------



## Heiko (16. Jul 2004)

Problem ist fertig und Programm läuft.

Habe den Code von Meez mit meinem ursprünglichen gemischt, jetzt läuft alles.

Vielen Dank!


----------



## meez (16. Jul 2004)

Pide...


----------

