C# "System:NullReferenceException"?!

Hey Leute,

Ich arbeite zur Zeit an einer Windows Phone C# app. Und dort gibt's ein ziemlich ?!sinnloses?! Problem.

Und zwar benutze ich den Kompass und den Accelerometer. Ich habe drei TextBlocks, einmal "comp", "accelx" und "accelz". Ich lese dann x,,y vom accelerometer und den wert vom compass aus. Anschließend möchte ich das in den Text Block Schreiben. Komischerweise "kann" ich nur den Text von "comp" ändern, heisst wenn ich den wert vom accelerometer X in "comp" schreiben will, klappt das, aber wenn ich den wert von accelerometer X in "accelX oder "accelZ" schreiben will, kommt eine "NullReferenceException". Heisst egal was ist: ich kann nur in "comp" schreiben, nicht in "accelx" oder "accelz". Egal wie ich alle Variablen nenne, ochkann nur in die variable "comp" schreiben?!

Also, kann mir jemand helfen?

Hier nochmal der Code:

        public MainPage()
    {
        InitializeComponent();
        Compass compass = new Compass();
        compass.TimeBetweenUpdates = TimeSpan.FromMilliseconds(40);
        compass.CurrentValueChanged += new System.EventHandler<SensorReadingEventArgs<CompassReading>>((s, e) =>
        {
            int sensorheading = Convert.ToInt32(e.SensorReading.TrueHeading);
            Dispatcher.BeginInvoke(() => comp.Text = sensorheading.ToString());
        });
        Accelerometer accel = new Accelerometer();
        accel.TimeBetweenUpdates = TimeSpan.FromMilliseconds(40);
        accel.CurrentValueChanged += new System.EventHandler<SensorReadingEventArgs<AccelerometerReading>>((s, e) =>
        {
            this.Dispatcher.BeginInvoke(() =>
            {
                double accelxresult = Math.Round(e.SensorReading.Acceleration.X, 3);
                accelx.Text = accelxresult.ToString();
                double accelzresult = Math.Round(e.SensorReading.Acceleration.Z, 3);
                accelz.Text = accelzresult.ToString();
            });
        });
        accel.Start();
        compass.Start();
    }
...zum Beitrag

hat keiner eine antwort?! bitte

...zur Antwort

Mach doch ein eigenes, erstelle zwei pictures, eins mit der Textur des balkens, die andere mit dem balkenhintergrund, jetzt machst du zwei divs für die Balken, den einenbdiv machst du nur so 20puxel breit und den anderen so lang wie der Balken sein soll, jetzt einfach mit Hilfe von javascript eine vor schleife rein bauen und jedesmal die width von div Container des balkens erhöhen- der zahl an bisherigen if-schleifen, kriegst duvsogar noch ne tolle Animation, nur musst du das addiertebpassend berechnen, sonst geht das nicht so gut ;)

...zur Antwort

hat wirklich niemand ne Ahnung davon?!

...zur Antwort

weiss wirklich niemand wie das geht?!

...zur Antwort

gibt nen hack/trick:

starte deinen laptop mit einer windows installationsdvd, es sollte vista oder höher sein ;) -pc natürlich ebenfalls vista oder höher -wenn die installationdvd fertig geladen hat drücke: umschalt+f10 -nun tippe in dem schwarzen fenster "regedit" ein. -in dem neuen fenster klickst du einmal auf hkey-local-machine -nun geh oben auf datei-struktur laden... -grh dort auf das laufwerk wo dein windows installiert ist, dann auf windows>system32>config -wähle nun die datei "SOFTWARE" aus und drücke auf öffnen -in dem neuen fenster tippst du irgendeinen namen ein, sagen wir mal "hilfe", drücke dann auf ok -geh auf hkey-local-machine, dort siehst du jetzt senn ordner hilfe. -doppelklick auf ihn bis er sich öffnet -drücke nun STRG+F und tippe im fenster "image file execution options" ein, drücke dann auf suche -nun öffnet sich links ein neuer ordner, und rechts im großen feld siehst du ein paar einträge, im großen feld machst du einen rechtsklick, dann wählst du "neue zeichenfolge" aus. -jet bennenst du sie folgendermaßen: "utilman.exe" -mach einen rechtsklick auf den schlüssel, dann auf bearbeiten und dann tipp in das feld wert folgendes ein: "cmd.exe" - scrolle rechts anz nac oben bis du wieder den ordner "hilfe" siehst. - klocke auf ihn, dann geh oben auf datei>struktur entfernen und bestätige alles. -starte deinen pc neu, und beim loginfenster gehst du nten links auf dieses hilfesymbol, dort kommt nun eine schwarze box und kein hilfefenster, tippe dort dann folgendes ein: net user "dein benutzername" * - drücke 2 mal enter und schliesse das fenster, wenn du alles richtig gemacht hast klickst du auf deinen benutzer, tippst kein passwort ein und meldest dich einfach an.

wenns nicht klappt dann windows neu aufsetzten, ich übernehme keine selbst verursachten fehler!

wenns geklappt hat: sternchen ;) hoffe ich konnt helfen, glenn

...zur Antwort