Объявление

Свернуть
Пока нет объявлений.

Прикрепленную тему видел, но... ошибка COM, при работе через CPSNXML.dll

Свернуть
X
  • Фильтр
  • Время
  • Показать
  • Сортировать
  • Упорядочить по
Очистить всё
новые сообщения

    Прикрепленную тему видел, но... ошибка COM, при работе через CPSNXML.dll

    На одном из компьютеров стала возникать такая проблема: При проверке пачек пишет что-то типа "Невозможно создать Com объект для проверки адреса"

    Пользователь, конечно "ничего не делал"... "само так начало"...

    1. Не используя CPSNXML.dll, т.е. если просто запустить CheckXML.exe - все проверяет нормально.
    2. Вирусов нет
    3. Версия CheckXML последняя
    4. Пользователь Администратор

    Путь к dll вбит прямо в код, что не красиво, но надежно берет dll из нужного места. Т.е. CPSNXML.dll - тоже не старый:

    ......

    hMod := LoadLibrary('C:\Program Files\CheckXML\CPSNXML.dll');
    if hMod <> 0 then
    begin
    try
    @cInitLib := GetProcAddress(hMod, 'cpsnInitLib');
    @cValidate := GetProcAddress(hMod, 'cpsnValidate');
    @cValidate2 := GetProcAddress(hMod, 'cpsnValidateZ');
    @cFreeLib := GetProcAddress(hMod, 'cpsnFreeLib');

    if @cInitLib <> nil then
    begin
    if cInitLib(Handle, 'C:\Program Files\CheckXML\') = 0 then
    begin
    if SelectedRows.Count = 0 then
    begin
    if not FileExists(system_options.packs_path_save + '\' + xml_file_name) then
    ShowMessage('Файл пачки '+DBGrid.DataSource.DataSet.FieldByName('pack_numb er').AsString+' не найден: ' + system_options.packs_path_save + '\' + xml_file_name)
    else
    begin
    cValidate(PAnsiChar(system_options.packs_path_save + '\' + xml_file_name), eCount, wCount);
    ShowMessage('Ошибок: ' + IntToStr(eCount)+ '; Предупреждений: ' + IntToStr(wCount));

    ......

    Проблема только на одном из нескольких компьютеров, т.е. вроде бы всё то же самое на других и все работало и работает. А вот на одном возникла эта проблема. Решить ее не удалось... может подскажите, что делать? В чем может быть проблема?

    #2
    может подскажите, что делать?
    запустить CheckXML.exe - и все проверять нормально, CPSNXML.dll - часть программы, которая не обеспечивает все необходимые проверки.

    Комментарий


      #3
      А можно как-то описать в какой-то документации... какие именно необходимые проверки не производятся при вызове cpsnValidate через dll.

      И, все-таки, в чем может быть проблема с вызовом проверки из сторонней (своей) программы?

      Комментарий


        #4
        Сообщение от Zerodivide Посмотреть сообщение
        И, все-таки, в чем может быть проблема с вызовом проверки из сторонней (своей) программы?
        Да в чем угодно

        Комментарий


          #5
          Вот... взяли и отпинали просто так. Я понимаю, что прога бесплатная... но все же...

          Как называется Com объект для проверки адреса? Где его искать?
          Как его зарегистрировать?

          (Может он просто разрегистрировался. Например, если прогу установили в 2-а места, а потом деинсталлировали их одного из них. Деинсталлятор, например, разрегистрировал Com объект...)

          Комментарий


            #6
            Проблема в том, что с подобным вызовом программа не должна работать. Проверка это некий эталон, гарантия полного и правильного формирования данных. Предоставление возможности делить эталон на полный и неполный исключает смысл программы. То есть от проверки реальной останется одно ее название.

            Комментарий


              #7
              Большая просьба - вернуть поддержку запуска через dll-шку

              Комментарий


                #8
                Большая просьба - вернуть поддержку запуска через dll-шку... раньше ведь были все возможности через нее доступны

                Комментарий


                  #9
                  У меня 5000 работников в организации. Формирование отчета в ПФР у меня делалось дажатием 2-х кнопок. По нажатию первой - на основании данных из корпоративной информационной системы, формировались пачки. По нажатию второй - они проверялись. Все разом, т.к. работников много, то и пачек тоже много и проверять по пачке, запуская дополнительно программу для этого...

                  Поймите, через пользовательский интерфейс - проверять пачки очень неудобно. Во-первых: нужно обучить персонал работать в еще одной программе. Во-вторых в CheckXML нет пакетного режима проверки, т.е. проверки группы выделенных пачек. И не фиксируется информация, какие пачки проверены и не содержат уже ошибок, а какие еще нет. Ну и еще некоторый функционал отсутствует.

                  Комментарий


                    #10
                    Ну и еще некоторый функционал отсутствует.
                    Какой еще например?

                    Комментарий


                      #11
                      Например - нельзя посмотреть журнал проверки после его закрытия. Т.е. быстро открыть заново последний журнал по данной пачке, не перепроверяя пачку. Лезть в папку Log в директорию установки, чтобы открыть html журнала заново - это не для пользователя.

                      Да даже быстро открыть на просмотр саму проверяемую XML-ку, чтобы посмотреть в каком виде и что туда вписалось, понять почему проверка "ругается", прямо из интерфейса CheckXML - невозможно.

                      В общем, идея с программным доступом к CheckXML была хорошая, зря вы ее стали губить.

                      Комментарий


                        #12
                        Разбор программы по частям привел к проблемам. Часть из них оказались нерешаемыми, а часть вредными, так как громким словом "проверка" называлось и то, что на самом деле ничего не проверяло. Все это уже обсуждалось, если есть интерес, обратитесь к поиску.
                        Возврата к прежней идеологии не будет, а вот развивать сервис планируется. Поступившие пожаления к программе, Ваши и не только, в ближайшее время будут реализованы.

                        Комментарий


                          #13
                          если быть точнее, Бухсофту требуется профессиональный программист...

                          Комментарий


                            #14
                            Судя по Вашему посту Вы себя к таким относите. Приходите, пообщаемся. Для профессионалов нам всегда есть, что предложить. За одно научим мыслить шире

                            Комментарий


                              #15
                              Ошибка COM при работе через DLL

                              Хотел уточнить, DLL больше не обновляется? Т.е. возможность работы с программой через DLL закрыта?

                              Комментарий

                              реклама

                              Свернуть
                              Обработка...
                              X