HiAsm - Конструктор программ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



UseActiveX & VBJScript

Сообщений 1 страница 7 из 7

1

Компоненты ->

Для примера модернизация этих компонентов можно было бы делать к примеру такие вещи. (модернизировать либо сделать их ЕХ если уж так нужно)

Что это даёт в перспективе:

На данный момент мой VBJScript имеет существенные отличия и дополнения.

1)Вызов по именам процедур не через Case а как реализовано в IC
штатный (ну ведь не айс совсем :( )
Sub doWork(dt,idx)
  Select idx Case
     Case "doTest1"
           Sub
              MsgBox("Test1")
           End Sub

     Case "doTest2"
           Sub
              MsgBox("Test1")
           End Sub
  End Select
End Sub

моя версия, свойство UseName удалено
Sub doTest1(dt,idx)
   MsgBox("Test1")
End Sub

Sub doTest2(dt,idx)
   MsgBox("Test2")
End Sub

2)Подключение к UseActiveXEx через Dispath (установка свойств, вызов методов, получение событий) Можно прямо скриптом компоненты делать.
3)Работает с кирилицей в FPC.
4)Имеет объект встроенного таймера и метода sleep (не подвешивает работу с GUI).
5)Может вызывать из JS методы VBS и наоборот из VBS функции и переменные JS.
6)Может изменять свойства контролов по Handle.
7)Коментарии к точкам работают исправно.
8)В нижних точках VAR достаточно для VBS указать имя переменной для получения результата
9)Коректная информация об ошибках

Изменяемые свойства контролов:
Caption
Text
Color
Left
Top
Width
Height
FontName
FontHeight
FontColor
FontBold
FontItalic
LoadFromFile
SaveToFile
ShowControl

UseActiveX делает следующее.

Подключает ActiveX без регистрации в системе (т.е как обычную dll )
Не толкает туда всякие паровозики через МТ потоки а просто использует точку подключения для VBJScript

Вот пример вьювера изображений на DirectX. Плавный скролинг и всё такое. Скачать -> AXMotions

https://upforme.ru/uploads/001b/10/a7/2/408803.png

0

2

У меня не работает.
Скомпилированный пример запускаю всё работает, если открываю схему и компилирую не работает.
Я так понимаю у меня компонент старый.

0

3

envoy_sky написал(а):

Я так понимаю у меня компонент старый.

да.

Эта связка UseActiveXEx & VBJScript покруче VB будет в грамотных руках. Самым отвратительным у штатного USEActiveX это регистрация библиотеки  в реестре, что требовало админских прав. Да и все эти некчёмные паровозики на входе и выходе полностью выносили мозг для творчества.
ActiveX в Dephi можно сделать почти из любого контрола простым мастером по его созданию встроенного в IDE.

Я не удивлюсь если для FPC VBJScript ошибку для вывода кириллицы так и не поправили. Хотя ошибку эту и гле искать указывал, может даже не однократно.

0

4

Компоненты в первом посте

0

5

Пример создания PDF из текста. Когда то выкладывал на официальном форуме, пускай и тут лежит
Пример->

https://forumstatic.ru//uploads/001b/10/a7/2/708271.png

0

6

Всем доброго времени суток форумчане, поставил перед собой цель  передать данные из программы на hiasm в php скрипт посредством post запроса предварительно зашифровав данные.
Как я понял нет готовых компонентов которые могут это сделать сразу, поскольку не все виды шифрования поддерживаются и php и hiasm одновременно. Поэтому решил использовать встроенные средства системы, а именно dll библиотеки
crypt32.dll (CAPI и DPAPI).
bcrypt.dll, ncrypt.dll (CNG).
schannel.dll (SSL/TLS).
winhttp.dll, wininet.dll (HTTPS).
secur32.dll (SSPI). )
по ситуации, в данный момент нужна библиотека для шифрования и расшифровки post запросов , решено использовать crypt32.dll поскольку поддерживается как в php так и в windows
Теперь стоит задача адаптировать компонент UseActiveXEx под эти цели, а именно вызвать необходимые функции из указанной библиотеки.
И я пока не совсем понимаю как можно вызвать что то через нижнюю точку компонента.
При запуске выше указанного примера получаю ошибку выполнения скрипта:
Error - Требуется объект: 'Doc'
Line - 11
Position - 2
Source -

буду благодарен если ктонибудь покажет как скажем вызвать из AutoItX3.dll функцию MouseMove 100, 100 ' Перемещаем мышь в координаты (100, 100)

Отредактировано Serfer78 (2024-12-22 12:31:11)

0

7

Serfer78
К сожалению эта библиотека работать не будет, т.к IClassFactory2 у неё вырезан что соответственно Run_time error
Выходит только в IC по API

Serfer78 написал(а):

И я пока не совсем понимаю как можно вызвать что то через нижнюю точку компонента.

Нижняя точка это тоже метод с такими же параметрами как метод слева, только принято считать что она возвращает просто данные. Несмотря на это в ней можно вызывать методы компонента, события, считывать данные точно так же как левыми методами с приставкой "do" Кроме того сами необходимые данные можно и отправить на верхнюю  точку если это необходимо. Просто эти трюки не используются дабы не вводить пользователя в заблуждение. Тем не менее удобство есть

Пример для компонента FormatStr которым можно наращивать данные по вертикали и брать потом с одной входной точки не насыщая схему лишними связями

Код:
procedure THIFormatStr._var_FString(var _Data:TData; Index:word);
begin
   _work_doString(_Data,0); // добавить эту строку и вызов doString уже не нужен, 
   dtString(_Data,FStr);       // получите результат согласно верхних точек включая %1
end;

"
для VBSJScript это тоже применимо, так как тоже вызывает метод Sub "Name"(dt,idx) где "Name" имя нижней точки

0



Рейтинг форумов | Создать форум бесплатно