Сообщения без ответов | Активные темы Текущее время: Вт мар 19, 2024 1:25 pm



Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 5 ] 
Scaner1C.dll под C# 
Автор Сообщение
Новичок
Аватара пользователя

Зарегистрирован: Вт сен 20, 2005 6:21 am
Сообщения: 7
Сообщение Scaner1C.dll под C#
На днях попробовал драйвер Scaner1C.dll под Common Language Runtime. На вид вполне приличный Com, правда возникла 1 проблема и серьёзная. После создании экземпляра объекта этой библиотеки при начале инициализации графики программа вылетает якобы на арифметическом переполнении. Детальное исследование показало, что она просто пытается считать недопустимую ячейку памяти. Если блок с использованием класса сканера закомментирован, то данная ошибка не возникает. А ну и напоследок, возникает она в assembly System.Drawing.dll


Вт сен 20, 2005 6:28 am
Профиль ICQ
Новичок
Аватара пользователя

Зарегистрирован: Вт сен 20, 2005 6:21 am
Сообщения: 7
Сообщение 
В общем то некоторое уточнение, развитие темы:
есть библиотека scaner1C.dll. dotnet создаёт для неё wrapper interop.scaner.dll, который уже является полноценным assembly и реализует пространство имён scaner, как его поняла платформа. В этом пространстве имён есть класс scaner45class, у него есть конструктор scaner45class(). Теперь конкретика. Для наглядности взял простейший вариант. Окошко созданное конструктором, в которое добавлен только TextBox и собственно сабж.

Код:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Scaner;

namespace WindowsApplication1
{
      public class Form1 : System.Windows.Forms.Form
   {
      private System.Windows.Forms.TextBox textBox1;
      private System.ComponentModel.Container components = null;
      private void scan()
      {
         //some code here
      }

      public Form1()
      {
         Scaner45Class sc = new Scaner45Class();
         sc.DataEventEnabled=true;
         sc.DataEvent+=new IScanerEvents_DataEventEventHandler(this.scan);
         InitializeComponent();
      }
      protected override void Dispose( bool disposing )
      {
         if( disposing )
         {
            if (components != null)
            {
               components.Dispose();
            }
         }
         base.Dispose( disposing );
      }

      #region Windows Form Designer generated code
      private void InitializeComponent()
      {
         this.textBox1 = new System.Windows.Forms.TextBox();
         this.SuspendLayout();
         //
         // textBox1
         //
         this.textBox1.Location = new System.Drawing.Point(40, 32);
         this.textBox1.Name = "textBox1";
         this.textBox1.TabIndex = 0;
         this.textBox1.Text = "textBox1";
         //
         // Form1
         //
         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
         this.ClientSize = new System.Drawing.Size(292, 266);
         this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                        this.textBox1});
         this.Name = "Form1";
         this.Text = "Form1";
         this.ResumeLayout(false);

      }
      #endregion

      [STAThread]
      static void Main()
      {
         Application.Run(new Form1());
      }
   }
}




В таком варианте будет выдана ошибка о которой я говорил. Если инициализацию компонентов формы поменять местами с инициализацией сканера, то всё будет работать! От перестановки мест слагаемых сумма видимо меняется... И что характерно, обработчик не перехватывает событие. Сканер точно работает, проверял через вызов страницы свойств, а вот по прямому назначению видимо не судьба. Фуу, нафлудил то сколько. Надеюсь на конструктивный ответ.


Вт сен 20, 2005 7:30 am
Профиль ICQ
Постоянный участник
Аватара пользователя

Зарегистрирован: Чт мар 10, 2005 6:42 pm
Сообщения: 4282
Сообщение 
С Вашим вопросом разбирается программист ШТРИХ-М. В ближайшее время ждите ответ.


Вт сен 20, 2005 8:21 pm
Профиль
Новичок

Зарегистрирован: Чт мар 24, 2005 1:52 pm
Сообщения: 438
Откуда: ШТРИХ-М
Сообщение 
Даже не знаю, как вам помочь.
Я никогда не работал с .Net
Могу дать исходники драйвера.

_________________
С уважением,
Кравцов Виталий, программист
e-mail: kravtsov@shtrih-m.ru
(495) 787-60-90, добавочный 295


Вт сен 20, 2005 10:15 pm
Профиль ICQ WWW
Новичок
Аватара пользователя

Зарегистрирован: Вт сен 20, 2005 6:21 am
Сообщения: 7
Сообщение 
Тогда предлагаю продолжить обсуждение сего вопроса в аське


Ср сен 21, 2005 11:12 am
Профиль ICQ
Показать сообщения за:  Поле сортировки  
Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.   [ Сообщений: 5 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.
Русская поддержка phpBB