Автор Тема: PluginInclude - Подключение внешних динамических библиотек  (Прочитано 7871 раз)

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

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 8082
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
AutoIt: 3.3.6.1 - 3.3.14.5
Версия: 1.1

Категория: Вспомогательные функции, Разное

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

Содержимое динамической библиотеки:
(нажмите для показа/скрытия)

Пример (требуются подключаемые библиотеки, см. выше):
(нажмите для показа/скрытия)

Файл: PluginInclude.zip

История версий:
(нажмите для показа/скрытия)

Источник: www.autoit-script.ru
Автор(ы): G.Sandler (CreatoR)
« Последнее редактирование: Март 28, 2019, 02:40:22 от CreatoR »


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


AutoIt is simple, subtle, elegant.


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


Мои работы

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


Оффлайн Sergey2210 [?]

  • Осваивающий
  • **
  • Сообщений: 263
  • Репутация: 31
  • Пол: Мужской
    • Награды
а здесь что,можно только функции прописывать где требуется один параметр?
как мне сделать в динамической UDF например такую функцию
Код: AutoIt [Выделить]
Func _pic($pic,$left,$top,$width,$height)
     GUICtrlCreatePic($pic,$left,$top,$width,$height)
EndFunc
 


Оффлайн CreatoR [?]

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

  • Автор темы
  • Репутация: 2314
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.14.0
Sergey2210  [?]
Цитировать
можно только функции прописывать где требуется один параметр?
Да.

Цитировать
как мне сделать в динамической UDF например такую функцию
Код: AutoIt [Выделить]
Func _pic($aParams)
    Local $sPic = $aParams[0], $iLeft = $aParams[1], $iTop = $aParams[2], $iWidth = $aParams[3], $iHeight = $aParams[4]
    GUICtrlCreatePic($sPic, $iLeft, $iTop, $iWidth, $iHeight)
EndFunc


и соответсвенно передавать массивом из главного скрипта:
Код: AutoIt [Выделить]
Dim $aParams[5] = [$sPic, $iLeft, $iTop, $iWidth, $iHeight]
_PluginInclude_ExecuteFunc("_pic", $aParams)


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

Re: PluginInclude - Подключение внешних динамических библиотек
« Ответ #2 Отправлен: Апрель 12, 2011, 03:53:33 »

Оффлайн Sergey2210 [?]

  • Осваивающий
  • **
  • Сообщений: 263
  • Репутация: 31
  • Пол: Мужской
    • Награды
Всё ясно,спасибо,ещё хотел спросить но забыл,а в начале динамической библиотеки обязательно должно быть это:
Код: AutoIt [Выделить]
#NoTrayIcon

If $CmdLine[0] = 0 Then Exit ;We need at least 1 command line

;Collecting parameters
$sParams = ""

For $i = 2 To $CmdLine[0]
    $sParams &= $CmdLine[$i] & "|"
Next

$sParams = StringTrimRight($sParams, 1)
Call($CmdLine[1], $sParams)
If @error Then Call($CmdLine[1])
 


Просто у меня и без этого работало

Оффлайн CreatoR [?]

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

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

Цитировать
у меня и без этого работало
:) При отсутствий, это добавляет обработчик (в PluginInclude.au3).

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

Re: PluginInclude - Подключение внешних динамических библиотек
« Ответ #4 Отправлен: Апрель 24, 2011, 06:12:55 »

Оффлайн Sergey2210 [?]

  • Осваивающий
  • **
  • Сообщений: 263
  • Репутация: 31
  • Пол: Мужской
    • Награды
Всё спасибо,вопросов больше нет,нужнаю штука :)

Оффлайн Sergey2210 [?]

  • Осваивающий
  • **
  • Сообщений: 263
  • Репутация: 31
  • Пол: Мужской
    • Награды
Зделал как Вы написали,но ничего не получилось,выдаёт ошибку

Оффлайн CreatoR [?]

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

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

Версию где массивы поддерживаются я уже доработал, выложу чуть позже.

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

Re: PluginInclude - Подключение внешних динамических библиотек
« Ответ #7 Отправлен: Апрель 28, 2011, 17:57:02 »

Оффлайн Sergey2210 [?]

  • Осваивающий
  • **
  • Сообщений: 263
  • Репутация: 31
  • Пол: Мужской
    • Награды
Понятно,спасибо :)

Оффлайн Sergey2210 [?]

  • Осваивающий
  • **
  • Сообщений: 263
  • Репутация: 31
  • Пол: Мужской
    • Награды
А когда новая версия выдет?

Оффлайн CreatoR [?]

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

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

Цитировать
[1.1]
* Теперь библиотека использует Container.au3 для интеракций с подключаемыми плагинами.
   Это решает проблему с передачей массивов (пока только 2D) и других типов данных в параметрах вызова.

См. первое сообщение темы.

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

Re: PluginInclude - Подключение внешних динамических библиотек
« Ответ #10 Отправлен: Май 04, 2011, 12:37:23 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
14 Ответов
6767 Просмотров
Последний ответ Февраль 01, 2011, 15:55:20
от dronet
0 Ответов
1781 Просмотров
Последний ответ Февраль 01, 2011, 16:59:39
от kseniya
2 Ответов
3836 Просмотров
Последний ответ Сентябрь 05, 2011, 14:44:05
от StarEdik
0 Ответов
2271 Просмотров
Последний ответ Сентябрь 05, 2011, 13:00:49
от madmasles
10 Ответов
5404 Просмотров
Последний ответ Январь 29, 2019, 12:33:13
от uran238
7 Ответов
3399 Просмотров
Последний ответ Декабрь 18, 2013, 13:27:39
от Yuriy
12 Ответов
4736 Просмотров
Последний ответ Май 10, 2014, 12:49:13
от WSWR
1 Ответов
914 Просмотров
Последний ответ Июнь 03, 2015, 13:56:07
от Prog
6 Ответов
4648 Просмотров
Последний ответ Сентябрь 22, 2015, 01:52:57
от CreatoR
2 Ответов
571 Просмотров
Последний ответ Июнь 19, 2018, 15:36:03
от Tempo