Da muß ich Dich leider korrigieren.
Ok, dann erklär mir das mal denn ich verstehe es nicht und es scheint mir insgesamt sehr "merkwürdig" zu sein. So ist die Situation:
(1)
Ich beende OpenOffice auch den Schnellstarter und starte dann OpenOffice neu in dem ich ein leeres Dokument erzeuge z.B. Textdokument. Ich kopiere meinen Orginalcode in ein leeres Modul des Dokuments und starte ihn. Das Ergebnis ist so wie Du es beschreibst. Starte ich den Code gleich anschließend nochmals ist das Ergebnis aber in Ordnung.
(2)
Ich beende OpenOffice wiederum völlig (!) und wiederhole das ganze wie oben beschrieben allerdings mit der geänderten Zeile. Beim erstmaligem Starten ist der Fehler exakt der selbe wie bei meinem Orginalcode. Beim zweiten Starten ist das Ergebnis OK.
Schlußfolgerung:
Du hast meinen Code einmal laufen lassen und es ging nicht. Dann hast Du die Zeile geändert und es nochmal laufen lassen und es ging. Das liegt aber, meiner Meinung nach,
nicht an dem Code
sondern das es schon einmal mit dem Orginalcode lief.
Würdest Du das soweit bestätigen?
Ich weiß allerdings nicht woran das liegt.
Meine Kritik/mein Unverständnis Deines Code ansich:
Code: Alles auswählen
alles(i) = alles & wert(i) & ": RGB(" & farbe & ")" & CHR(13)
ist die Tatsache das alles eimal Feldvariable und einmal 'normale' Variable ist, denn schon diese Kontruktion funktioniert nicht:
Code: Alles auswählen
option explicit
Sub Main
Dim alles
Dim alles(28)
End Sub
Mir ist absolut nicht klar warum es so überhaupt funktioniert (das es funktioniert habe ich jetzt getestet), bloß der Fehler wird nicht durch die geänderte Zeile behoben sondern dadurch das Dein oder mein Code mindestens zweimal hintereinander gestartet wird.
Also wäre ich sehr daran interesssiert zu erfahren ob Du eine Erklärung hast warum es keine Konflikte zwischen alles() und alles in Deinem Code gibt, alles andere ist jetzt zunächst nebensächlich aber hast Du dafür eine Erklärung ich bin völlig ratlos.
Mir ist klar das es deshalb funktioniert weil der Interpreter offensichtlich nicht zwischen alles() und alles unterscheidet, nur wie kann das sein?
Nach der Änderung steht in jeder Variable der zutreffende Wert.
Dir ist aber schon klar das bei Deinem Code dann jedes Feld alles(i) für i=0 bis 28 genau den
gleichen Inhalt hat und das dieser Inhalt die gesamten Informationen als Textverkettung enthält.
Trotzdem denke ich, kann eine Doku nicht schaden. Ich werde nicht der einzige sein, der versagt von meinem Problem auf die Registry zu kommen.
Wenn es nur um die Registry ansich geht ist das in Der StarBasicFAQ bereits dokumentiert, der Link steht ganz oben in diesem Forum unter "Hinweise zur Starbasic-Programmierung"
Gruß
Stephan
Da muß ich Dich leider korrigieren.
Ok, dann erklär mir das mal denn ich verstehe es nicht und es scheint mir insgesamt sehr "merkwürdig" zu sein. So ist die Situation:
(1)
Ich beende OpenOffice auch den Schnellstarter und starte dann OpenOffice neu in dem ich ein leeres Dokument erzeuge z.B. Textdokument. Ich kopiere meinen Orginalcode in ein leeres Modul des Dokuments und starte ihn. Das Ergebnis ist so wie Du es beschreibst. Starte ich den Code gleich anschließend nochmals ist das Ergebnis aber in Ordnung.
(2)
Ich beende OpenOffice wiederum völlig (!) und wiederhole das ganze wie oben beschrieben allerdings mit der geänderten Zeile. Beim erstmaligem Starten ist der Fehler exakt der selbe wie bei meinem Orginalcode. Beim zweiten Starten ist das Ergebnis OK.
[u]Schlußfolgerung:[/u]
Du hast meinen Code einmal laufen lassen und es ging nicht. Dann hast Du die Zeile geändert und es nochmal laufen lassen und es ging. Das liegt aber, meiner Meinung nach, [b]nicht [/b]an dem Code [b]sondern [/b]das es schon einmal mit dem Orginalcode lief.
[b]Würdest Du das soweit bestätigen?[/b]
Ich weiß allerdings nicht woran das liegt.
Meine Kritik/mein Unverständnis Deines Code ansich:
[code]alles(i) = alles & wert(i) & ": RGB(" & farbe & ")" & CHR(13)[/code]
ist die Tatsache das alles eimal Feldvariable und einmal 'normale' Variable ist, denn schon diese Kontruktion funktioniert nicht:
[code]option explicit
Sub Main
Dim alles
Dim alles(28)
End Sub[/code]
Mir ist absolut nicht klar warum es so überhaupt funktioniert (das es funktioniert habe ich jetzt getestet), bloß der Fehler wird nicht durch die geänderte Zeile behoben sondern dadurch das Dein oder mein Code mindestens zweimal hintereinander gestartet wird.
[b]Also wäre ich sehr daran interesssiert zu erfahren ob Du eine Erklärung hast warum es keine Konflikte zwischen alles() und alles in Deinem Code gibt, alles andere ist jetzt zunächst nebensächlich aber hast Du dafür eine Erklärung ich bin völlig ratlos.[/b]
[i]Mir ist klar das es deshalb funktioniert weil der Interpreter offensichtlich nicht zwischen alles() und alles unterscheidet, nur wie kann das sein?[/i]
[quote]Nach der Änderung steht in jeder Variable der zutreffende Wert.[/quote]
Dir ist aber schon klar das bei Deinem Code dann jedes Feld alles(i) für i=0 bis 28 genau den [u]gleichen [/u]Inhalt hat und das dieser Inhalt die gesamten Informationen als Textverkettung enthält.
[quote]Trotzdem denke ich, kann eine Doku nicht schaden. Ich werde nicht der einzige sein, der versagt von meinem Problem auf die Registry zu kommen.[/quote]
Wenn es nur um die Registry ansich geht ist das in Der StarBasicFAQ bereits dokumentiert, der Link steht ganz oben in diesem Forum unter "Hinweise zur Starbasic-Programmierung"
Gruß
Stephan