日期:2014-05-17  浏览次数:21107 次

无法加载 DLL“sms.dll”: 内存位置访问无效 在线等解答啊
  最近在做短信发送功能,用的是GPRS,程序调试的时候,总是提示sms.dll内存位置访问无效,要不就是直接程序死掉。请大家帮忙看看问题到底出在哪里,从网上看的哪些资料都不能解决。也可能是dll的问题,大家谁有sms.dll帮忙发一个。邮箱struggle_wj@163.com,谢谢了
附上代码
动态链接库的
 
[STAThread]
        [DllImport("sms.dll", EntryPoint = "Sms_Connection")]
        public static extern uint Sms_Connection(string CopyRight, uint Com_Port, uint Com_BaudRate, out string Mobile_Type, out string CopyRightToCOM);

        [DllImport("sms.dll", EntryPoint = "Sms_Disconnection")]
        public static extern uint Sms_Disconnection();

        [DllImport("sms.dll", EntryPoint = "Sms_Send")]
        public static extern uint Sms_Send(string Sms_TelNum, string Sms_Text);

        [DllImport("sms.dll", EntryPoint = "Sms_Receive")]
        public static extern uint Sms_Receive(string Sms_Type, out string Sms_Text);

        [DllImport("sms.dll", EntryPoint = "Sms_Delete")]
        public static extern uint Sms_Delete(string Sms_Index);

        [DllImport("sms.dll", EntryPoint = "Sms_AutoFlag")]
        public static extern uint Sms_AutoFlag();

        [DllImport("sms.dll", EntryPoint = "Sms_NewFlag")]
        public static extern uint Sms_NewFlag();

我自己写的
  /// <summary>
        /// 开始短信服务,连接
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void button1_Click(object sender, EventArgs e)
        {
            //Thread thread = new Thread(new ThreadStart(Start));
            //thread.Name = "GPRS";
            //thread.IsBackground = true;
            //thread.Start();
            string TypeStr = "wavecom";
            string CopyRightToCOM = "";
            string CopyRightStr = "modem.COM8";
            for (uint j = 1; j < 10; j++)
            {