0

I have two classes:

PTS_Controller

using System;
using TiT.PTS;

namespace fuel_sdk_test
{
    public class PTS_Controller
    {
        private PTS pts;
        private int? pumpNumber;
        private byte? nozzleNumber;
        private int? pricePerLiter;
        private int? orderDose;
        private int[] prices;
        private int? transactionId;
        private int? atgNumber;
        private short parameterAddress;
        private byte[] parameterValue;
        private int parameterNumber;
        private bool authorizeVolume;
        private bool extendedCommands;
        private int? normalResponseTimeout = 100;
        private int? middleResponseTimeout = 200;
        private int? longResponseTimeout = 400;

        private static readonly PTS_Controller instance = new PTS_Controller();

        // Explicit static constructor to tell C# compiler
        // not to mark type as beforefieldinit
        static PTS_Controller()
        {
        }

        private PTS_Controller()
        {
        }

        public static PTS_Controller Instance
        {
            get
            {
                return instance;
            }
            set
            {
            }
        }

        public void openCom()
        {
            if (!pts.IsOpen)
            {
                try
                {
                    pts.PortName = "COM6";
                    pts.Open();
                    Console.WriteLine("Port opened successfully");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
}

And My Programs.cs

namespace fuel_sdk_test
{
    internal class Program
    {
        public static void Main(string[] args)
        {
                PTS_Controller.Instance.openCom();
        }
    }
}

Error Message:

Unhandled Exception: System.NullReferenceException: Object reference not set to Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at fuel_sdk_test.PTS_Controller.openCom() in C:\Users\user\RiderProjects\fuel_sdk_test\fuel_sdk_test\PTS_Controller.cs:line 44 at fuel_sdk_test.Program.Main(String[] args) in C:\Users\user\RiderProjects\fuel_sdk_test\fuel_sdk_test\Program.cs:line 8

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
Abd Abughazaleh
  • 4,615
  • 3
  • 44
  • 53

1 Answers1

5

You never initialize “pts” Try initializing it in the constructor I think it should solve it

bginsburg
  • 123
  • 4