|
| Autor |
Nachricht |
august_ Poster

Anmeldedatum: 04.08.2007 Beiträge: 181
|
Variable bei For schleife nicht definiert
Verfasst am: 29.03.2008, 14:51 |
|
|
Der Fehler kam eigendlich nie bei mir^^
Ich habs ganz einfach
for i = 1 to 3
blabla
next i
Wie muss ich i definiern? |
|
| |
|
 |
c0re_ « Moderator »

Anmeldedatum: 29.11.2007 Beiträge: 425
|
Verfasst am: 29.03.2008, 14:54 |
|
|
Du kannst die Variable als Integer oder Long deklarieren.
Wenn es gar nicht geht, probier es mal mit ...
| Code: | For a = 1 To 3
' [...]
Next a |
... oder einem anderen Buchstaben als Variable.
Ich glaube, du kannst eine Variable nur ein mal in einer For-Schleife benutzen.
 |
|
| |
|
 |
august_ Poster

Anmeldedatum: 04.08.2007 Beiträge: 181
|
Verfasst am: 29.03.2008, 14:58 |
|
|
| Aber normalerweis muss ich sie doch garnicht deklariern oder? |
|
| |
|
 |
c0re_ « Moderator »

Anmeldedatum: 29.11.2007 Beiträge: 425
|
Verfasst am: 29.03.2008, 15:00 |
|
|
Doch schon, nur wird die Variable normalerweise automatisch beim Beginn der For-Schleife deklariert. 
 |
|
| |
|
 |
sollniss_ Coder

Anmeldedatum: 08.09.2007 Beiträge: 212
|
Verfasst am: 29.03.2008, 15:00 |
|
|
die vars kann man mehrmals benutzen, mach ich auch immer
| Code: | dim i as long
for i = 1 to 3
msgbox i
next i
for i = 99 to 1 step -1
msgbox i
next i |
usw. http://sollniss.1x.to/
 |
|
| |
|
 |
c0re_ « Moderator »

Anmeldedatum: 29.11.2007 Beiträge: 425
|
Verfasst am: 29.03.2008, 15:03 |
|
|
Jup, wenn man sie vorher extra deklariert.
Dann geht der Wert der Variable nach dem Schleifenende auch nicht verloren.
 |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 29.03.2008, 18:53 |
|
|
@august
Wenn dir VB6 plötzlich meldet das die Variable nicht deklariert ist, hast du wahrscheinlich das erste mal "Option Explicit" am Anfang deines codes stehen.
Dadurch achtet und meldet VB6 noch mehrere mögliche Probleme.
Und deklarieren sollte man immer jede Variable.
Wenn du sie nicht deklarierst, nimmt VB6 automatisch den Variablentyp "Variant" dafür.
Das ist eine Variable die alles mögliche ohne Problem aufnehmen kann.
Nur hat die große Nachteile, da sie viel Speicher belegt im RAM und extrem langsam ist. (Beim arbeiten mit Db's kann sie Vorteile haben)
Also am besten immer deklarieren.
Und egal ob vorher deklariert oder nicht, der Wert geht nach der Schleife nicht verloren.
Beispiel:
| Code: |
For i = 1 to 100
next i
msgbox i
|
Die MsgBox würde dann "101" ausgeben. Da durch "next i" nochmal erhöht wird. Und dann ist die Schleife zu Ende.
Nur wenn du die Variable in der Prozedur deklariert hast (nicht als static), wird sie nach dem Ende der Prozedur natürlich nicht mehr da sein.
mfg Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |