Fehler beim Programmende nach benutzen einer Win32 DLL

MarioR

Mitglied
Hallo,

ich benutze im C# eine Win32DLL:

Code:
    class MatriksConnection
    {   
        [DllImport("MatriksLib.dll", CharSet = CharSet.Ansi)] 
        protected static extern void DbConnect(String connectString);
        [DllImport("MatriksLib.dll", CharSet = CharSet.Ansi)]
        protected static extern String DbCommand(String command);
        [DllImport("MatriksLib.dll", CharSet = CharSet.Ansi)]
        protected static extern String DbHelp();
        [DllImport("MatriksLib.dll", CharSet = CharSet.Ansi)]
        protected static extern String DbVersion();

        /// <summary>Construktor</summary>
        public MatriksConnection()
        {
        }


        /// <summary>Destruktor</summary>
         ~MatriksConnection()
        {     
        }

        public String Test()
        {
            Clipboard.Clear();
            DbConnect("database=10.122.92.51:d:\\firebird\\zi.fdb,username=ROSENBOHM.ZI.GMK,PASSWORD=qwer");
            String command = "cmd=READ,\"select=\"\"select * from v_abbaubefahrung\"\"\",provider=clipboard,datei=d:\\test.txt";
            return DbCommand(command);
        }

    }

Wenn ich im Programm MatriksConnection.Test() benutze, dann bekomme ich am ende des Destruktors eine EAccessViolation in der MatriksLib.dll
(Siehe Anhang)

Wird von DotNET beim Freigeben der DLL in der DLL noch irgend eine Funktion aufgerufen?

Gruß Mario
 

Anhänge

  • GMK-Punktesammler_MatriksLibDLL_error1.jpg
    GMK-Punktesammler_MatriksLibDLL_error1.jpg
    14,4 KB · Aufrufe: 19
  • GMK-Punktesammler_MatriksLibDLL_error2.jpg
    GMK-Punktesammler_MatriksLibDLL_error2.jpg
    13,5 KB · Aufrufe: 12
Hat Sich erledigt,

der Fehler lag in der DLL.

(Auch wenn es der Programmierer erst nicht geglaubt hat:suspekt:)
 

Neue Beiträge

Zurück