hy
ich habe eine konsolen anwendung die ich gerne in eine form setzten würde, da der text ja in die konsole geschrieben wird, wollte ich es in eine listbox schreiben.
leider bekomme ich eine fehlermeldung:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
nullreferenceexebition was unhandelet
der code
danke für die hilfe
muss ich bei c# die listbox aktivieren, nach dem ich sie auf die form gezogen habe?
Edit: ich habs
das fehlte:
InitializeComponent();
nur hier
while (!Console.KeyAvailable)
hab ich leider keine ahnung wie ich die schleife in der form machen soll ?!?
Edit by Agent: VB-Tag für C#-Code?? VB-Tag entfernt!
*Topic verschoben*
ich habe eine konsolen anwendung die ich gerne in eine form setzten würde, da der text ja in die konsole geschrieben wird, wollte ich es in eine listbox schreiben.
leider bekomme ich eine fehlermeldung:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
nullreferenceexebition was unhandelet
der code
C#-Quellcode
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Speech;
- using System.Speech.Recognition;
- namespace WindowsFormsApplication2
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- // Hier werden recognition-engine und grammar vorbereitet. SpeechRecognitionEngine bedeutet, dass nur unser Programm auf die Spracherkennung zugreift.
- listBox1.Items.Add("test");
- MessageBox.Show("Firing up speech-demo");
- SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
- recognizer.SetInputToDefaultAudioDevice();
- // hier setzen wir einen Event-Handler für das "Recognized"-Event. Es gibt noch eine Menge anderer Events.
- // Die aufgerufene Funktion recognizer_SpeechRecognized wird aufgerufen.
- recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
- // der try-catch block ist eigentlich optional, aber ich hatte am Anfang so viele Exceptions, dass ich ihn drin gelassen habe.
- try
- {
- Grammar grammar = new Grammar("grammar.xml", "thema");
- recognizer.UnloadAllGrammars();
- recognizer.LoadGrammar(grammar);
- // mit folgender Zeile wird die eigentliche Erkennung gestartet.
- recognizer.RecognizeAsync(RecognizeMode.Multiple);
- }
- catch (Exception e)
- {
- // listBox1.Items.Add("Exception aufgetreten: " + e.Message);
- return;
- }
- // wenn wir es bis hier geschafft haben, ist alles ok. Das zeigen wir dem Benutzer an...
- //listBox1.Items.Add ("Speech-Engine up and running");
- // ... und gehen in eine Schleife, die auf Tastendruck beendet wird (und mit ihr auch das Programm).
- //while (!Console.KeyAvailable)
- {
- System.Threading.Thread.Sleep(100);
- }
- // Console.WriteLine("terminating.");
- // Jetzt noch schnell aufräumen.
- recognizer.Dispose();
- return;
- }
- // Diese Funktion wird aufgerufen, sobald etwas erkannt wurde.
- // In e.Result.Text steht der erkannte Text.
- private static void recognizer_SpeechRecognized(object sender, System.Speech.Recognition.SpeechRecognizedEventArgs e)
- {
- // Console.WriteLine(e.Result.Text + " (" + e.Result.Confidence.ToString() + ")");
- }
- }
- }
danke für die hilfe
muss ich bei c# die listbox aktivieren, nach dem ich sie auf die form gezogen habe?
Edit: ich habs
das fehlte:
InitializeComponent();
nur hier
while (!Console.KeyAvailable)
hab ich leider keine ahnung wie ich die schleife in der form machen soll ?!?
Edit by Agent: VB-Tag für C#-Code?? VB-Tag entfernt!
*Topic verschoben*
ähh? wasn das
Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „nikeee13“ ()