Hallo, beim Ausführen des unten gezeigten Programmteiles gibt es eine
Fehlermeldung (als Kommentar angefügt).
Der Fehler ist zwar behoben, wenn ich, wie es VisualStudio vorschlägt,
eine neue Instanz anlege, aber ich will mich ja auf genau das Objekt
beziehen, was ich in "twincat_ads_vorbereitung()" erstellt habe.
Was muss ich tun, damit der Aufruf auch in einer anderen Methode
funktioniert?
1 | public partial class Form1
|
2 | {
|
3 | public TcAdsClient adsClient;
|
4 | private int handle_start;
|
5 | bool aktivieren = false;
|
6 |
|
7 | public static void form_geladen()
|
8 | {
|
9 | Form1 instanz = new Form1();
|
10 | instanz.twincat_ads_vorbereitung();
|
11 | }
|
12 |
|
13 | public void twincat_ads_vorbereitung()
|
14 | {
|
15 | adsClient = new TcAdsClient();
|
16 |
|
17 | try
|
18 | {
|
19 | adsClient.Connect(851);
|
20 | handle_start = adsClient.CreateVariableHandle("MAIN.aktivieren");
|
21 | }
|
22 | catch (Exception ausnahme)
|
23 | {
|
24 | MessageBox.Show("Fehlerquelle: " + ausnahme.Source+
|
25 | "\nBeschreibung: "+ausnahme.Message,
|
26 | "Fehler ADS-Vorbereitung", MessageBoxButtons.OK,
|
27 | MessageBoxIcon.Error);
|
28 | }
|
29 | }
|
30 |
|
31 | public void twincat_ads_dispose()
|
32 | {
|
33 | MessageBox.Show("TwinCAT ADS", "Beenden", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
34 | adsClient.Dispose(); //System.NullReferenceException wurde nicht behandelt.Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
|
35 |
|
36 | }
|
37 | }
|
38 | }
|