Neuer Quellcode wird ignoriert

03/12/2008 - 08:02 von Claus-Rainer Fischer | Report spam
Hallo Zusammen,

ich habe eine Frage die wahrscheinlich in die Kategorie absoluter Anfànger
zàhlt.Ich vermute das es sich um eine falsche Einstellung der
Programmierumgebung handelt die ich einfach nicht finden kann.

ich habe eine kleine Procedur in einem Timer geschrieben Diese sah zunàchst
wie folgt aus und sollte lediglich der Überprüfung dienen ob die procedure
ausgeführt wird:
Dim TagDat, AbDat, StartZeit As Date

Dim Days As Double

Dim I As Integer

Days = -3

StartZeit = Now.ToString("T")

If StartZeit = #8:00:00 AM# Then

Beep()

TagDat = CDate(Now)

AbDat = DateAdd(DateInterval.Day, Days, TagDat)

ListBox1.Items.Add("Test Procedurestart")

End Sub

Dies funktioniert auch gut. Wird die Uhrzeit 08:00:00 erreicht erscheint in
der Listbox der Text Test Procedurestart

Dann habe ich die Procedure erweitert:

Dim TagDat, AbDat, StartZeit As Date

Dim Days As Double

Dim I As Integer

Days = -3

StartZeit = Now.ToString("T")

If StartZeit = #8:00:00 AM# Then

Beep()

TagDat = CDate(Now)

AbDat = DateAdd(DateInterval.Day, Days, TagDat)

For I = 1 To SignalStation.Count - 1

ListBox1.Items.Add("L"sche 0 Werte vom " & AbDat & " bis " & TagDat & "
Station: " & SignalStation(I))

Next

End If

End Sub



Die Procedure wird gestartet in der Listbox erschein jedoch wieder der Text
Test Procedurestart

Die passiert auch wenn die Entwicklungsumgebung beendet und neu gestartet
wird. Ews wird also nicht die aktuelle Änderung ausgeführt sondern immer
noch der àltere Code.

Auch wenn der Form neue Steuerelemente hinzugefügt werden sind diese in der
Entwicklungsumgebung zu sehen. Nach dem Start des Programms erscheinen die
Steuerelemente nicht.

Ich verwende VB2008 express edition SP1



Kann mir jemand auf die Sprünge helfen?



Gruß

Claus
 

Lesen sie die antworten

#1 Armin Zingler
04/12/2008 - 00:37 | Warnen spam
Claus-Rainer Fischer wrote:
Kann mir jemand auf die Sprünge helfen?



Was hast du in den Optionen unter

Projekte und Projektemappen -> Erstellen und Ausführen -> "Beim Ausführen,
bei Build- oder Bereitstellungsfehlern"

eingestellt? Wenn da "alte version starten" ausgewàhlt ist, hast du eine
Erklàrung. Damit die Option sichtbar ist, musst du im Optionen-Dialog ganz
unten "Alle Einstellungen anzeigen" aktiviert haben.

Was zeigt das Fenster "Fehlerliste" an? Wobei natürlich im Fenster oben die
erste Checkbox ("..Fehler") aktiviert sein muss.


Abgesehen davon empfehle ich dringend, Option Strict On (s.
Projekteigenschaften) zu aktivieren. Für neue Projekte làsst sich das in den
Optionen einrichten (Projekte und Projektmappen -> VB-Standard)


Auch wenn du nicht danach gefragt hast: Dieses Konstrukt ist nicht so zu
empfehlen:

StartZeit = Now.ToString("T")

If StartZeit = #8:00:00 AM# Then

Nach Aktivierung von Option Strict funktioniert die Zuweisung eines Strings
zu einer DateTime-Variablen sowieso nicht mehr. Was du ja willst, ist die
Uhrzeit eines DateTime-Objekts zu prüfen. Das geht einfacher mit

If Now.TimeOfDay.TotalHours = 8 Then

Wobei das - aber genau wie bei dir - /genau/ acht Uhr sein muss! Sehr
unwahrscheinlich, diesen Wert zu treffen.

Außerdem:
TagDat = CDate(Now)
ist sinnfrei, da Now bereits vom Typ Date ist. Also: TagDat = Now

Statt der VB-Funktion DateAdd kannst du die eingebauten Methoden verwenden:
AbDat = TagDat.AddDays(Days)

Das nur als ein paar "technische" Hinweise. Was du da vorhast, hab ich
jetzt nicht geprüft... ;-)


Armin

Ähnliche fragen