VB ignoriert Wert in NumericUpDown.

03/12/2007 - 22:04 von Robert Hauffe | Report spam
Hallo,

In einer Prozedur die von einem Ereignis aufgerufen wird steht sinngemàß
die folgende Zeile:

If object.zahlAlsInteger = CInt(Form1.NumericUpDownFeld.Value) Then

Dieser Code-Schnipsel steht in der Klasse "Calculate". object besteht
aus der Klasse "ObjectClass" und das UpDown Feld befindet sich in der Form1.

Beim Durchlaufen des Programmes nimmt
CInt(Form1.NumericUpDownFeld.Value) den Wert 10 an, obwohl der
eigentliche Wert 20 ist. (10 ist der eingetsellte Startwert.) Wenn ich
den Wert der Überwachung hinzufüge, dann wird dort gar nichts angezeigt,
weil "Der Verweis auf einen nicht frei gegebenen Member erfordert einen
Objektverweis."

Wenn ich stattdessen in den Deklarationsteil schreibe:

Dim i As Integer = CInt(Form1.NumericUpDownFeld.Value)

und den Code in der Prozedur entsprechend abàndere:

If object.zahlAlsInteger = i Then

dann startet das Programm erst gar nicht und teilt mir mit, dass das
Formular ausgehendend von einer Standardinstanz auf sich selbst
verwiesen hat und ich doch bitte Me verwenden möge.

Das Problem ist, dass ich Me nicht verwenden kann, da der Code in der
Klasse "Calculate" steht. Ein Me.NumericUpDownFeld.Value gibt es somit
nicht.

Hat jemand einen Vorschlag, wie ich das Problem lösen kann?

Robert
 

Lesen sie die antworten

#1 Armin Zingler
03/12/2007 - 22:38 | Warnen spam
"Robert Hauffe" schrieb
Hallo,

In einer Prozedur die von einem Ereignis aufgerufen wird steht sinngemàß
die folgende Zeile:

If object.zahlAlsInteger = CInt(Form1.NumericUpDownFeld.Value) Then

Dieser Code-Schnipsel steht in der Klasse "Calculate". object besteht aus
der Klasse "ObjectClass" und das UpDown Feld befindet sich in der Form1.




Übergib die erforderlichen Daten an die Methode der Klasse "Calculate" statt
auf die "Form1" zu verweisen.


Armin

Ähnliche fragen