@IsNumber nimmt keine Typenkonvertierung vor.
Wenn in Deinem TEXTFELD also
12345 drinsteht, dann macht @IsNumber:
@IsNumber( "12345" ) und liefert FALSE, weil nun mal "12345" keine Zahl sondern ein Text ist.
Du müsstest zuerst mit @ToNumber( @ThisValue ) versuchen den eingegebenen Text in eine Zahl umzuwandeln, um dann mit @IsNumber abzufragen.
Leider ist @ToNumber für Deinen Wunsch nicht geeignet:
@ToNumber( "1234abcd" ) liefert nämlich 1234 zurück, veruscht also aus Teufel komm raus die Zahl aus Deinem Text zu finden.
Was Du willst geht nur so:
_valids := "1" : "2" : "3" : "4" : "5" : "6" : "7" : "8" : "9" : "0";
_xVal := @Trim( @ReplaceSubstring( @ThisValue ; _valids ; "" ) ) ;
@If( _xVal != "" ; @Failure( "Es dürfen nur Ziffern eingegeben werden" ) ; @Success );
Das ganze wurde übrigens vor nicht allzu langer Zeit hier diskutiert, zu Deinem Glück habe ich es durch kurze Suche mit mir Sinnvoll erscheinenden Eingabe-werten nicht gefunden...
Gruß
Tode