Вверх ↑
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
#16: 2011-01-22 10:09:06 ЛС | профиль | цитата
login, пока ничего не работает. Потому что никто пока не подсказал функцию, которая будет перемещать рабочее поле. Я сегодня ещё поищу в интернете на эту тему.
карма: 9
0
Ответов: 274
Рейтинг: 47
#17: 2011-01-22 11:15:14 ЛС | профиль | цитата
login, Распакуй plug1.dll в %HiAsm%intplugs, запусти HiAsm открой большую схему нажми Ctrl когда курсор находится над схемой и не отпуская Ctrl двигай схему мышкой
карма: 0

1
файлы: 1plug1.rar [20.9KB] [331]
Голосовали:login
Ответов: 1926
Рейтинг: 172
#18: 2011-01-23 07:25:16 ЛС | профиль | цитата
Вот вариант с левой кнопкой мыши:

code_22277.txt

Почти всё хорошо, но почему-то, когда скроллы несколько раз прокручены и доведены почти до низа, при следующем перемещении вниз они срываются наверх. См. видео.
карма: 9
0
файлы: 2vpl.7z [507.9KB] [430], code_22277.txt [1.9KB] [569]
Ответов: 1429
Рейтинг: 50
#19: 2011-01-23 11:48:45 ЛС | профиль | цитата
Laetar, работает, но только залипает контрол, надо его часто повторно нажимать.
Если там в схеме DLL-ки таймер, то нужно этот таймер ускорить, как минимум, в трое
[offtop]Вроде бы, он залипает если контрол отпустить во время перемещения схемы, это можно исправить?[/offtop]

3042, да, это здорово, но как эту схему скомпилировать, в каком типе проэкта?
Если я выбираю тип "плагины Hiasm" то компилятор неактивен.
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#20: 2011-01-23 12:47:43 ЛС | профиль | цитата
login писал(а):
Если я выбираю тип "плагины Hiasm" то компилятор неактивен.

login, неактивна подчеркнутая красным кнопка?

Если у тебя компилится обычная схема с формой, то должна и эта, просто кнопки запуска тут не должно быть
карма: 10
0
файлы: 1compiler_select.png [5.6KB] [757]
Ответов: 1429
Рейтинг: 50
#21: 2011-01-23 12:59:24 ЛС | профиль | цитата
Assasin, Действительно!, скомпилировалось. Я бросил эту длл в папку plugin, но ничего не происходит, и не работает. (длл от Laetar работала)
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#22: 2011-01-23 13:10:33 ЛС | профиль | цитата
login писал(а):
Assasin, Действительно!, скомпилировалось. Я бросил эту длл в папку plugin, но ничего не происходит, и не работает. (длл от Laetar работала)

Для того, чтобы начало работать, нужно перезапустить среду, если это выполнил и не работает, значит где-то в схеме ошибка
карма: 10
0
Ответов: 1429
Рейтинг: 50
#23: 2011-01-23 13:12:48 ЛС | профиль | цитата
Да, перезапускал, видимо что-то не так.
----------
Пардон, заработала, переименовал..

Да, и правда сбрасывает схему вверх надо смотреть.
карма: 0

0
Ответов: 274
Рейтинг: 47
#24: 2011-01-23 14:48:56 ЛС | профиль | цитата
login, Так лучше?
plug2.rar
карма: 0

1
файлы: 1plug2.rar [20.4KB] [342]
Голосовали:login
Ответов: 1429
Рейтинг: 50
#25: 2011-01-23 15:40:40 ЛС | профиль | цитата
Laetar, Отлично! Спасибо!
(мне, оказалось, даже нравится, что не надо нажимать мышку, экономим на нажатиях )
карма: 0

0
Ответов: 1926
Рейтинг: 172
#26: 2011-01-23 15:41:37 ЛС | профиль | цитата
login писал(а):
3042, да, это здорово, но как эту схему скомпилировать, в каком типе проэкта?
Если я выбираю тип "плагины Hiasm" то компилятор неактивен.


Пока что нет смысла использовать эту схему, потому что есть недоработка (сброс вверх схемы). Интересно, как сделал свою dll Laetar?
карма: 9
0
Ответов: 274
Рейтинг: 47
#27: 2011-01-23 17:26:45 ЛС | профиль | цитата
3042, Я свою схему уже выкладывал, только чуть изменил ее
карма: 0

0
Ответов: 31
Рейтинг: 0
#28: 2017-12-24 21:49:31 ЛС | профиль | цитата
Попробовал оба плагина от 3042 и Laetar. Оба варианта имеют один и тот же недостаток, влияющий на их потребительские свойства - использование клавиши Ctrl, которая уже используется в интерфейсе рабочего стола Hiasm. Эта логическая ошибка вызывает некоторые артефакты в работе обоих плагинов.
Я внес элементарное изменение в каждую из схем заменив Ctrl (17) на Shift (16), которая в интерфейсе рабочего стола Hiasm не используется. Плагины стали работать практически без существенных артефактов. Хотя мелкие огрехи, не влияющие на функционал и не раздражающие, остаются.

Доработанная схема от Laetar:

Add(hiPlugs,14075188,336,252)
{
Point(Handle)
Point(onInit)
link(onKeyDown,11335860:doCase,[])
}
Add(Case,11335860,406,259)
{
Value=Integer(16)
link(onTrue,3758783:doEvent1,[])
}
Add(FindWindow,16362781,700,245)
{
ClassName="TSDK_Edit"
SkipParam=1
link(onFind,2090689:doCompare,[])
link(ParentHandle,13475985:Handle,[(706,233)(674,233)(674,296)(643,296)])
}
Add(FindWindow,3148445,574,259)
{
ClassName="TPanel"
Caption="[none]"
link(onFind,13475985:doFindChild,[])
link(ParentHandle,14075188:Handle,[(580,243)(458,243)(458,296)(349,296)])
}
Add(FindWindow,13475985,637,252)
{
ClassName="TPanel"
SkipParam=1
link(onFind,16362781:doFindChild,[])
link(ParentHandle,3148445:Handle,[(643,240)(611,240)(611,303)(580,303)])
}
Add(MouseEvent,9155478,896,231)
{
Button=3
Point(doMouseDown)
Point(doMouseUp)
Point(Handle)
}
Add(If_else,2090689,763,245)
{
link(onTrue,4576595:doEvent1,[])
link(Op1,16362781:Handle,[(769,233)(737,233)(737,289)(706,289)])
link(Op2,9155478:Handle,[(776,219)(939,219)(939,275)(916,275)])
}
Add(Case,9487156,574,357)
{
Value=Integer(0)
link(onTrue,4204874:doCompare,[])
}
Add(Timer,2651542,504,301)
{
Interval=50
link(onTimer,8742991:doReadKey,[(548,307)(548,341)(492,341)(492,363)])
}
Add(Hub,3758783,469,266)
{
link(onEvent1,2651542:doTimer,[(493,272)(493,307)])
link(onEvent2,3148445:doFindChild,[(535,279)(535,272)])
}
Add(Keyboard,8742991,504,357)
{
Key=16
link(onReadKey,9487156:doCase,[])
}
Add(Memory,8095986,966,301)
{
Default=Integer(0)
}
Add(Hub,4576595,847,245)
{
link(onEvent1,9155478:doMouseDown,[])
link(onEvent2,7368223:doData,[(878,258)(878,307)])
}
Add(DoData,7368223,896,301)
{
Data=Integer(1)
link(onEventData,8095986:doValue,[])
}
Add(If_else,4204874,651,364)
{
Op2=Integer(1)
link(onTrue,435122:doEvent1,[])
link(Op1,8095986:Value,[(657,348)(972,348)])
}
Add(Hub,435122,756,364)
{
link(onEvent1,9155478:doMouseUp,[(885,370)(885,258)])
link(onEvent2,8095986:doClear,[(941,377)(941,314)])
}


Доработанная схема от 3042:

Add(hiPlugs,14075188,186,45)
{
Point(Handle)
}
Add(FindWindow,16362781,319,94)
{
ClassName="TSDK_Edit"
SkipParam=1
link(ParentHandle,13475985:Handle,[(325,83)(302,83)(302,146)(262,146)])
}
Add(FindWindow,3148445,193,108)
{
ClassName="TPanel"
Caption="[none]"
link(onFind,13475985:doFindChild,[])
link(ParentHandle,14075188:Handle,[])
}
Add(FindWindow,13475985,256,101)
{
ClassName="TPanel"
SkipParam=1
link(onFind,16362781:doFindChild,[])
link(ParentHandle,3148445:Handle,[(262,90)(235,90)(235,119)(235,153)(199,153)])
}
Add(MouseEvent,9861358,277,206)
{
Button=3
Point(Handle)
}
Add(If_else,13224687,312,276)
{
link(onTrue,8748347:a,[])
link(Op1,9861358:Handle,[(318,257)(297,257)])
link(Op2,370911:Var2,[])
}
Add(Timer,11425082,11,262)
{
Interval=50
link(onTimer,3634254:doReadKey,[])
}
Add(Keyboard,7702670,207,269)
{
Key=16
link(onReadKey,6997035:doEvent,[])
}
Add(IndexToChanel,6997035,256,269)
{
link(onEvent2,13224687:doCompare,[])
}
Add(Timer,4987452,137,115)
{
Interval=500
AutoStop=1
link(onTimer,3148445:doFindChild,[])
}
Add(Keyboard,3634254,60,262)
{
Key=1
link(onReadKey,8941491:doData,[])
}
Add(IndexToChanel,4837038,158,262)
{
link(onEvent2,7702670:doReadKey,[])
}
Add(ChangeMon,8941491,109,262)
{
Data=Integer(0)
link(onData,4837038:doEvent,[])
}
Add(InlineCode,8748347,396,276)
{
WorkPoints=#1:a|
DataPoints=#1:h|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,windows,messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|16: h:THI_Event;|0:|42: procedure a(var dt:TData; index:word);|0:|5: end;|0:|14:implementation|0:|24:procedure THiAsmClass.a;|5:begin|49: SendMessage(ToIntegerEvent(h),wm_LButtonUp,0,0);|51: SendMessage(ToIntegerEvent(h),wm_MButtonDown,0,0);|17: //_hi_OnEvent();|4:end;|0:|4:end.|
link(h,370911:Var3,[(402,176)])
}
Add(GetDataEx,370911,319,171)
{
link(Data,16362781:Handle,[])
}

Плагины на основе этих схем работаю по разному, с разными ощущениями пользователя от их использования.
Мне более импонирует и кажется более удобным работа плагина по схеме от 3042.

Редактировалось 1 раз(а), последний 2017-12-24 21:51:00
карма: 0

0
28
Сообщение
...
Прикрепленные файлы
(файлы не залиты)