Итак тут будет представлена реализация примеров на VCL
Начнём с простых
Наконец то реализовал нормальный зум, не использует холст для рисования. В основе лежит совершенно другой принцип.
Из старого компонента пришлось почти всё выкинуть, хоть я и перекрыл метод onPaint в родительском контроле(аналог Win.pas) но он даже не понадобился. библиотека всё прекрасно рисует сама, двойная буферизация работает исправно.
ImageVCL тест ->Ссылка
Демо тест
Сообщений 1 страница 21 из 21
Поделиться12025-02-18 17:14:27
Поделиться22025-02-27 00:58:38
PaintBoxVCL
Demo Ссылка
думаю чистое извращение что то рисовать в HiAsm кубиками
буду наверно прикручивать васик с функционалом Fast и GDI+.
Поделиться32025-02-27 10:55:17
ImageVCL
При установке цвета фона сбрасывается зум. Не знаю, может так задумано. Как по мне - не должно
PaintBoxVCL
Access violation - виртуалка c 10-кой х64
Поделиться42025-02-27 11:21:48
Да, с цветом надо подшаманить. Про виртулку ничего сказать не могу. Сейчас на работе, тоже Win10x64 Скачал, запустил, работает
Эта демка специально пожата новым UPX lдля примера(взял из Restorator(a))
Вечером не пожатую выложу. Сейчас пытаюсь начать скриптовый движок переписать, а то под Kol очень сложный, там чёрт ногу сломит...
Вот тогда можно будет нарисоваться вдоволь
Поделиться52025-02-27 21:50:00
Вот не пожатый пример. Ссылка
Итак, вроде разобрался как сделать простой скриптовый движок на vbs
Существенным отличием будет то что можно будет передавать произвольное количество параметров (не как сейчас dt,idx)
Это в какой-то степени избавит их в скрипте прописывать.
Выходных точек onRes(10-15 думаю хватит) 1 по дефолту, другие скрою
формат элемента будет как у FormatStr, да собственно и параметры так же будут задавятся. (через проценты)
Вызов процедур по имени или индексу из списка
Дело в том что в Kol модуль Variants отсутствует, поэтому реализация этого всего на API довольно сложная.
Поделиться62025-02-27 22:15:31
Вот не пожатый пример.
неа...
на чистых 10 х64 и 7 х32 одинаковая ошибка, а вот на хисмовской зас*аной хламом 7 х64 работает.
походу компилятор и upx не причем. Может к какой либе привязано?
Поделиться72025-02-27 22:23:22
и да, окно дебага. Скинь без брейкпоинтов, если они есть как на скрине.
Поделиться82025-02-28 10:23:17
Да, чёт не то. Попробовал под юзерской учеткой да, крэш на самом деле.
Убрал точки дебага запускается.
Нихера не понял, в Debug весь функционал аналогичен KOL версии
Правда модуль работы с реестром от VCL
вот так идёт чтение позиции, спасибо. Буду разбирается.
procedure TDForm.Load; var hk:HKEY;w:integer; begin hk := RegKeyOpenCreate(HKEY_CURRENT_USER,'Software\HiAsm\Debug'); with DebugForm do begin DebugForm.OnClose := _onClose; w := RegKeyGetDw(hk,'Left'); //if w=0 then begin // if Applet.ChildCount=0 then w := 20 // else w := Applet.Children[0].Left; //end; Left := w; w := RegKeyGetDw(hk,'Top'); if w=0 then begin if Applet.ChildCount=0 then w := 105 else w := Applet.Children[0].Height+Applet.Children[0].Top; end; Top := w; w := RegKeyGetDw(hk,'Width'); //if w=0 then begin // if Applet.ChildCount=0 then w := 400 // else w := Applet.Children[0].Width; //end; Width := w; w := RegKeyGetDw(hk,'Height'); if w=0 then w := 80; Height := w; //Style := WS_CAPTION or WS_THICKFRAME or WS_SYSMENU; //ExStyle := WS_EX_TOOLWINDOW; //Border := 0; Show; Invalidate; end;; RegKeyClose(hk); end;
Поделиться92025-02-28 13:11:42
Буду разбирается.
Нечего разбираться...
Откуда на чистой системе записи в реестре?
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\HiAsm]
"ok"="1"
"InstallPath"="C:\\Program Files (x86)\\HiAsm"
"Installer Language"="1049"
"Name"=""
"Mail"=""
"HomePage"=""
"Handle"=dword:00030188
[HKEY_CURRENT_USER\Software\HiAsm\Debug]
"Left"=dword:0000001d
"Top"=dword:000001a0
"Width"=dword:00000272
"Height"=dword:000000d6
"wName"=dword:00000050
"wValue"=dword:00000032
"wType"=dword:00000032
"wCount"=dword:00000032
Поделиться102025-02-28 14:16:37
Откуда на чистой системе записи в реестре?
Tе тот модуль смотришь. Смотри Debug.pas а не hiDebug.pas
Поделиться112025-02-28 14:25:41
Tе тот модуль смотришь.
Не смотрел, поскольку у меня нет твоих модулей.
Ты привел кусок кода, тем самым ответив на свой вопрос.
w := RegKeyGetDw(hk,'Left');
То-есть, чтобы прочитать ключ, эго кто-то, когда-то, должен был создать и записать. Кто, когда? Если hiasm я на флешке таскаю.
Скопировал ветки реестра из старой системы в чистую. Все работает.
Поделиться122025-02-28 15:24:57
Ну ведь так если изначально сделано было, при закрытии окна Debug настройки его сохранятся в реестре. Я ведь ещё хотел переделать на INI но посмотрел что юзерской ветке ну хрен с ним думаю, пускай остаётся. Всё поправим, не смертельно.
Поделиться132025-02-28 15:25:38
да я спутал, насчёт Debug.pas Его не переделывал.
Поделиться142025-02-28 15:32:23
Хотел отредактировать, отправил заново.
P.S. Если ты о штатном, то это сути дела не меняет.
Чтобы появилась эта ветка, нужно, с правами админа, хотя бы раз hiasm запустить. Откуда на чистой системе хиасму быть.
Debug версия приложения как-раз должна запускаться для отладки на машине разработчика, а на клиентской машине Release версия, тобишь без брейкпоинов.
Отредактировано tom-it (2025-02-28 15:34:38)
Поделиться152025-02-28 15:57:39
да понятно это всё, моя ошибка что дома проверяя под юзерской учёткой там эта ветка просто уже была...
Поделиться162025-02-28 16:05:48
моя ошибка что дома проверяя под юзерской учёткой
Ты выложил пример для поклацать, я поклацал. Откуда мне было знать что там брейкпоинты. Не работает и все.
Кстате, а на кой сохранять настройки дебага, еще и в реестре, еще и куда обычною юзеру нет входа? Где и когда они могут понадобиться? Тупо для удобства и без спроса.
Отредактировано tom-it (2025-02-28 16:41:15)
Поделиться172025-02-28 21:59:27
Кстате, а на кой сохранять настройки дебага, еще и в реестре, еще и куда обычною юзеру нет входа? Где и когда они могут понадобиться? Тупо для удобства и без спроса.
Да я не вдавался в подробности, эта авторская задумка. Мне нужно было просто дебажить хоть как то
Поделиться182025-03-01 17:26:15
наконец то сделал VBScriptVCL
Честно говоря уе.... напрочь
Вызвать функцию или процедуру в скрипте проблем нет. А вот получить из скрипта событие с произвольным именем (не как в штатной через объект sys.) это что-то
Но победа не просто даётся как обычно...
Я просто не завидую тому кто захочет это повторить не зная всех тонкостей (можно разбить всё что угодно)
Ну самое главное технология обкаталась, сейчас можно любые примочки для автоматизации пристраивать будет.
Отличительная особенность в произвольном количестве параметров (не как в штатном dt,idx)
На этом принципе и будет рисовалка для PaintBox
Делать верхние точки как у FormatStr не стал, лишнее это всё. С FormatStr и так можно вызвать функцию или процедуру в потоке
демка Ссылка
Поделиться192025-03-01 18:34:37
Тут сама собой идейка возникла. Поскольку скрипты как и листинги типа StrList хранятся в ресурсах и собственно ничем не защищены (скрипты могут и хакнуть что нибудь уюзера) думаю сделать менеджер защищённого хранилища. т.е на этапе разработки все такие листинги будут шифроваться в отдельном ресурсе вместе с ключом. После завершения разработки листинги и пароль к ним в менеджере можно очистить и готовое ПО при старте будет грузить эти списки из защищённого ресурса. Так будет в разы меньше огорода.
Поделиться202025-03-01 20:39:11
скрипты могут и хакнуть что нибудь уюзера
И да, и нет.
Для чего нужны скрипты?
Конфигурация и настройка, управление поведением, управление сложными вычислениям, или внешним видом, или автоматизация действий, запись\воспроизведение макросов и т.д. Да много чего можно придумать.
Но с одним нюансом.
Написанное, скопированное, сворованное - хранится во внешней папке.
На халяву стырил скрипт и сунул в свою прогу, еще и антивирус отключил и от админа запустил(так надо, в инструкции к скрипту так написано).
И тут никто не защитит от намеренных действий юзера.
Поделиться212025-03-02 06:09:22
tom-it
это и не моя идея так то , просто так сделано в IDE pdScript Ссылка
На выходе exe файл с зашифрованными или нет по желанию исходниками. Прекрасный инструмент, всё своё ношу с собой называется
p.s кстати на его изделия даже с шифрованием каспер благословен.