Страница 2 из 5

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 20 Февраль 2023, 0:02
finsoftrz
Игорь Столяров писал(а): 19 Февраль 2023, 22:45
finsoftrz писал(а): 19 Февраль 2023, 22:24 говорил, что ранее win10 не поддерживает
Не помню - нужно смотреть на контекст.
Если о программах - то мы поддерживаем работу на всех Windows до XP включительно. Хотя это и не просто. ;)
Значит, жизнь заставила сменить концепцию. Я точно помню этот момент, как Вы меня убеждали, что не надо поддерживать всякое барахло. :-) Да и на сайте у Вас такая информация проходила.

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 20 Февраль 2023, 6:38
Игорь Столяров
Лично я всегда был за то, что бы работать с софтом, который поддерживается производителем.
Мысль это логичная и понятная. Для ОС - это и есть Windows 10 (которая уже не продаётся).
Но пользователям не прикажешь, особенно в текущей экономической обстановке ...

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 20 Февраль 2023, 8:56
finsoftrz
Игорь Столяров писал(а): 19 Февраль 2023, 21:20 Cогласен ! Если говорить о запуске внешних скриптов под интерпретатором, то с радостью бы использовал интерфейс к Pithon или Lua ...
Не вижу ничего плохого и в VBScript, мы же создаём отчёты через VBA ... но без запуска внешних скриптов и обмена текстовыми файлами.
Есть ещё active script технология, позволяющая использовать скриптовые движки внутри приложения. Довольно старая, встроена во все используемые сейчас версии Windows. Vbscript там есть изначально. Чтобы интегрировать её в кларион, надо определённые знания, так как предполагаются com объекты. Михаил продаёт соответствующую библиотеку, не дёшево. Тогда можно без файлов.

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 20 Февраль 2023, 9:08
Игорь Столяров
finsoftrz писал(а): 20 Февраль 2023, 8:56 Михаил продаёт соответствующую библиотеку, не дёшево.
Ну это большое инструментальное средство для работы с COM объектами.
А здесь нужен сгенерённый один раз COM интерфейс к ActiveScript и это навсегда.
Может поспрашивать в форуме, вдруг кто-то его юзает ? :shock:

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 20 Февраль 2023, 9:24
finsoftrz
Ну так, Михаил. На хабе есть тема.
На мой вкус, не люблю я com объекты и activeX в кларионе. Не родные они.

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 27 Февраль 2023, 8:57
Игорь Столяров
Привет всем !

В первом сообщении обновлён сабж до версии 27.02.2023 г.
-----------------------------------------------------------------------------
- Добавлены правила для игнорирования полей структуры данных;
- Правило игнорирования полей расширено на теги (в т.ч. вложенные);
- Добавлен метод загрузки GROUP из тега (в т.ч. вложенные теги и аттрибуты);

и собственно, ради чего вот это вот всё началось:
- В примере показан полный (!!!) академический парс произвольного документа ЭДО. :)

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 28 Февраль 2023, 5:52
Губин Игорь
Игорь Столяров писал(а): 19 Февраль 2023, 10:25 Загрузка русских XML (в кодировке Windows-1251);
Из пожеланий: вставить возможность кодировки юникод.

Было бы хорошо иметь возможность читать разные типы кодировок, но это, уже, барство. :facepalm:

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 28 Февраль 2023, 6:40
Игорь Столяров
Губин Игорь писал(а): 28 Февраль 2023, 5:52 Из пожеланий: вставить возможность кодировки юникод.
Конечно. Это было сделано изначально. :)
см. параметр xVid_ в методе Init - он определяет тип данных в параметре xStr_:

Код: Выделить всё

! Создать новый объект
ToyXML.Init           Procedure(byte xVid_,*? xStr_,UShort xProgress_ = 0)  !,Byte,Proc
  Code
  Self.Kill  ! Убрать предыдущий объект

  Execute xVid_                                                 ! <-- Тип данных
    Self.XmlDoc &= XMLStringToDOM(TXM::LoadStrFromFile(xStr_))  ! 1. Файл   UTF-8
    Self.XmlDoc &= XMLStringToDOM(                     xStr_ )  ! 2. Строка UTF-8
    Self.XmlDoc &= XMLStringToDOM(TXM::XmlFileToStrUTF(xStr_))  ! 3. Файл   ANSI
    Self.XmlDoc &= XMLStringToDOM(TXM::StrAnsiToUTF(   xStr_))  ! 4. Строка ANSI
  end

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 28 Февраль 2023, 11:56
Губин Игорь
Игорь Столяров писал(а): 28 Февраль 2023, 6:40 Конечно. Это было сделано изначально.
Тогда скачиваю и начинаю тестировать на идиотских XML :facepalm:

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 01 Март 2023, 18:12
Игорь Столяров
В первом сообщении обновлён сабж до версии 01.03.2023 г.
-----------------------------------------------------------------------------
- Добавлены методы для получения полных имён тегов и полей;
- Добавлен контроль соответствия структуры данных и XML пакета;
- Формирование дочернего списка вынесено в отдельный метод;

- В примере показан полный парс документа ЭДО за один проход (+ отдельно списки).

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 02 Март 2023, 10:54
Igor_s
Игорь, не подскажете
у нас в DLL при обращении к методам класса MyXml
возникает ошибка Access Violation
MyXml Class(ToyXML) - в Global Includes
там же Include('tXML.inc')
У нас Clarion 10
Заранее Спасибо !

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 02 Март 2023, 11:19
Игорь Столяров
Igor_s писал(а): 02 Март 2023, 10:54у нас в DLL
Проверьте пожалуйста, что бы у Вас в проекте DLL были определены
опции самого CpXML (аналогично примеру):

Код: Выделить всё

_XmlLibDllMode_=>0
_XmlLibLinkMode_=>1
1.jpg

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 02 Март 2023, 13:13
Igor_s
Игорь, у нас не Project
а APP на EXE и APP на DLL
Извините, что сразу не написал

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 02 Март 2023, 13:56
Игорь Столяров
Igor_s писал(а): 02 Март 2023, 13:13 Игорь, у нас не Project
А я и не говорил ничего про Project ... ;)
Настройки проекта любого APP (в т.ч. и DLL, в т.ч. и C10 и у Вас тоже есть)
Вы можете открыть через главное меню - см. рисунок, я обвёл красненьким.

1.jpg

Класс tXML (интерфейс для штатного CpXML)

Добавлено: 02 Март 2023, 15:02
Igor_s
Игорь, большое спасибо !
все получилось !