Автор Тема: Container - Библиотека для интеракций между скриптами  (Прочитано 15981 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Olim98 [?]

  • Новичок
  • *
  • Сообщений: 48
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
CreatoR
Большое спасибо!!!
UPD: Немного подправил скрипт
* Теперь нет ограничения на размерность массива и корректно передаются указатели
* Добавлено закрытие хэндла процесса в примере приема структуры
Можете добавить в шапку темы


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Август 21, 2014, 10:29:55 от Olim98, Причина: Добавил подравленный скрипт »

Русское сообщество AutoIt

Re: Container - Библиотека для интеракций между скриптами
« Ответ #15 Отправлен: Август 21, 2014, 09:13:23 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827

  • Автор темы
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Olim98  [?]
Цитировать
Можете добавить в шапку темы
Мне нужно знать какие конкретно участки кода были изменены, я не буду в слепую обновлять библиотеку не зная что там изменено.


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
OffTopicCreatoR
пользуйся diff :) не думал, что сегодня им кто-то еще не пользуется  ;D
Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Оффлайн Olim98 [?]

  • Новичок
  • *
  • Сообщений: 48
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Мне нужно знать какие конкретно участки кода были изменены
(нажмите для показа/скрытия)
(нажмите для показа/скрытия)
OffTopicВ виду того что это не чистый AutoIt код, он отображается не очень корректно
« Последнее редактирование: Август 22, 2014, 21:56:50 от Olim98 »

Русское сообщество AutoIt

Re: Container - Библиотека для интеракций между скриптами
« Ответ #18 Отправлен: Август 22, 2014, 21:37:59 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Olim98,
ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.

Онлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2760
  • Репутация: 464
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Olim98
то есть удаление проверки на размерность входящих данных и есть улучшение? :)
ты просто обрезал исходный код функции. это не улучшение, а подгонка под себя
насчет изменения в примерах - это тоже не тянет на улучшение. ведь это всего лишь примеры применения. они как и все коды могут иметь как достоинства, так и недостатки.
вобщем, твои слова слегка самонадеянны
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн Olim98 [?]

  • Новичок
  • *
  • Сообщений: 48
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
joiner
Я лишь
Немного подправил скрипт
Olim98
ты просто обрезал исходный код функции. это не улучшение, а подгонка под себя
Я обрезал исходный код потому что баг с передачей указателей через COM уже пофиксен

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827

  • Автор темы
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Olim98
Текущая версия библиотеки поддерживает AutoIt 3.3.6.1, если убрать проверки, то она больше не будет поддерживаться.
Я не спроста сделал проверку условной (переменная $bContainer_CheckPtrVal).

Можно это решить простой заменой
Код: AutoIt [Выделить]
Global $bContainer_CheckPtrVal = True

на
Код: AutoIt [Выделить]
Global $bContainer_CheckPtrVal = (Number(StringReplace(@AutoItVersion, '.', '')) < 3379)

добавив в замечания библиотеки информацию об ограничений передачи массивов в версии ниже 3.3.7.9.

Пример поправлю.

Русское сообщество AutoIt

Re: Container - Библиотека для интеракций между скриптами
« Ответ #22 Отправлен: Август 23, 2014, 22:16:00 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827

  • Автор темы
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Обновление...

Цитировать
[1.3]
* Убрана проверка "Ptr" для AutoIt версий выше 3.3.7.9 (изменена глобальная переменная $bContainer_CheckPtrVal).
* Изменён пример "...Structs Transfer" - закрытие дескриптора открытого процесса.

Оффлайн Zalman1980 [?]

  • Новичок
  • *
  • Сообщений: 393
  • Репутация: 3
  • Пол: Мужской
    • Награды
Библиотека отличная, однако процессы браузера немного напрягают, нельзя ли без них обойтись?


Добавлено: Июнь 22, 2015, 04:04:42
Вот такие у вас отличия UDF этого форума и "зарубежного" autoitscript.com/forum:

Код: AutoIt [Выделить]
;.....из UDF
$oContainer = ObjGet("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
$oContainer = ObjCreate("InternetExplorer.Application")
;.....


Напишите пожалуйста в чем их отличия? и что предпочтительнее/лучще? Просто как раз в первом случае процессы не создаются, как и желательно, но не критично ли это для передачи обьекта IE?

Заранее спасибо.

PS: если использовать обьект Shell.Application, то также прекрасно работает.

Так что же лучше тогда, если без процессов iexplore.exe?
« Последнее редактирование: Июнь 22, 2015, 04:11:31 от Zalman1980 »

Оффлайн mrsoros [?]

  • Новичок
  • *
  • Сообщений: 18
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Не работают примеры. 1 раз срабатывают, потом: _Container_Open() failed! При вызове приёмника.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827

  • Автор темы
  • Репутация: 2288
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
mrsoros  [?]
Цитировать
1 раз срабатывают, потом: _Container_Open() failed! При вызове приёмника.
Видимо вы закрыли окошко отправителя, где говориться что этого деать не стоит.
Контейнер будет работать пока скрипт запущен.

Русское сообщество AutoIt

Re: Container - Библиотека для интеракций между скриптами
« Ответ #26 Отправлен: Июль 28, 2017, 20:28:27 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
82 Ответов
90384 Просмотров
Последний ответ Июль 04, 2018, 14:08:25
от alex33
6 Ответов
3887 Просмотров
Последний ответ Апрель 15, 2010, 18:57:31
от Kalisnik
2 Ответов
2959 Просмотров
Последний ответ Июнь 14, 2010, 07:11:40
от Vlasssov
7 Ответов
5023 Просмотров
Последний ответ Январь 17, 2011, 11:46:22
от dwerf
3 Ответов
2952 Просмотров
Последний ответ Октябрь 07, 2012, 00:27:43
от valdur2000
2 Ответов
2033 Просмотров
Последний ответ Август 29, 2013, 21:05:45
от Ksaan
0 Ответов
1314 Просмотров
Последний ответ Ноябрь 26, 2014, 00:44:42
от Sinner
0 Ответов
711 Просмотров
Последний ответ Июнь 24, 2015, 06:42:18
от Zalman1980
0 Ответов
1412 Просмотров
Последний ответ Март 09, 2017, 06:08:02
от CreatoR
3 Ответов
717 Просмотров
Последний ответ Апрель 13, 2017, 12:46:16
от InnI