Hi,
ich habe eine Frage zur Objektorientierung. Bin da noch relativ neu.
Ich nutze Visual Studio. In meinem Form habe ich eine Listview mit
mehreren Daten, in Spalte 3 steht bspw. ein Offset den ich an eine
Funktion übergeben möchte (in diesem Fall FSUIPC welches mir Daten aus
dem Microsoft Flight simulator ausgibt).
http://forum.simflight.com/topic/74848-fsuipc-client-dll-for-net-version-24/
Ich möchte also für jedes Item in dieser Listview den Offset an der
Stelle subitem[2] übergeben und den Wert nachher in eine Textbox
schreiben. Momentan sieht es wie folgt aus:
1 | private void readValues()
|
2 | {
|
3 | foreach (ListViewItem item in listView1.SelectedItems) //Load Items into Properties Window
|
4 | {
|
5 | int OffsetVar = Convert.ToInt32(item.SubItems[2].Text, 16); //Convert String to Hex Int
|
6 | Offset<int> valOffset = new Offset<int>(OffsetVar); //register new Offset
|
7 | FSUIPCConnection.Process(); //Process everything
|
8 | double Value = valOffset.Value; //read Data
|
9 | textBox1.Text = Value.ToString(); //Display Data
|
10 | }
|
11 | }
|
Funktioniert auch soweit ganz gut, das einzige roblem ist, das dieser
Befehl ein paar Mal die Sekunde ausgeführt wird und diese eine Variable,
bzw. das Offset immer wieder erstellt wird sodass das Programm nach ein
paar Minuten den ganzen Speicher vermüllt.
Leider gibt es anscheinend auch keine Dispose funktion für das Objekt
(?) valOffset.
Daher meine Frage. Wie kann ich dieses Objekt valOffset, bzw. mehrere
davon, während der Runtime generieren (da ab und zu auch Sachen aus
meinem Listview verschwinden können) und trotzdem in anderen Funktionen
darauf zugreifen (da ich dieses Objekt einmal erstellen, aber öfters
darauf zugreifen will).
Grüße
Stefan