Вверх ↑
Этот топик читают: Гость
Ответов: 1953
Рейтинг: 176
#1: 2026-06-21 19:05:48 ЛС | профиль | цитата
Каким образом в компонентах

Add(ScriptEvents,4652218,546,273)
{
Script=#15:function Load()0:|3:end|0:|15:function Save()|0:|3:end|0:|21:function SaveBefore()|0:|3:end|0:|26:function CmdEvent(Command)|0:|3:end|
}
и SDKBtn можно узнать имя текущего файла проекта? С полным путём, конечно.

Просто необходимо сохранять некий файл рядом с файлом проекта при каждом сохранении схемы, а это отлавливается только в

function SaveBefore()

end
В справке 5060 есть возможность открыть файл fopen, но папка по умолчанию для него - hiasm. Например, можно написать fopen("int\version.rc",FM_READ), это сработает, а вот как узнать полный путь к проекту, чтобы указать его?
карма: 10
0
Ответов: 1953
Рейтинг: 176
#2: 2026-06-23 07:56:56 ЛС | профиль | цитата
Кстати, у ScriptEvents есть глюк: событие CmdEvent происходит не только в активной вкладке, но сквозняком во всех вкладках, где есть отлов этого события.
Например, вставьте в один проект это:

Add(ScriptEvents,6233448,371,238)
{
Script=#66:function CmdEvent(Command) 'После вызова, но до выполнения команды|25: If Command = "save" Then|24: sdk.PutVar("uid","p2")|28: Message(sdk.GetVar("uid"))|7: End If|3:end|
}

, а в другой - это:

Add(ScriptEvents,9459388,371,245)
{
Script=#66:function CmdEvent(Command) 'После вызова, но до выполнения команды|25: If Command = "save" Then|24: sdk.PutVar("uid","p4")|28: Message(sdk.GetVar("uid"))|7: End If|3:end|
}

Сохраните любой из них - событие произойдёт в каждом проекте, а не только в активном!
карма: 10
0
Ответов: 1123
Рейтинг: 224
#3: 2026-06-23 19:27:01 ЛС | профиль | цитата
3042 писал(а):
Каким образом в компонентах ScriptEvents и SDKBtn можно узнать имя текущего файла проекта? С полным путём, конечно.


Не знаю правильно или нет, но мне удалось получить полный путь к проекту, в котором запускается скрипт. https://forum.hiasm.com/getfile/40643
В архиве 2 схемы
Первая – небольшой плагин, ProjectFileName.dll копируется в папку \Int\plugs\ после чего надо перезапустить HiAsm.
Во второй - кнопка SDKBtn, её нужно скопировать в ту схему в которой нужно узнать полный путь к проекту. (Её нужно нажимать непосредственно на рабочем столе HiAsm)
карма: 20

0
файлы: 1Project_filename.zip [17.9KB] [13]
Ответов: 1953
Рейтинг: 176
#4: 2026-06-24 09:33:01 ЛС | профиль | цитата
С плагином-то конечно.
Я хотел только на sdk, т.к. на плагине могу реализовать всё, что мне нужно, без sdk-скриптов.
Но всё равно спасибо, тем более что скрипты, видимо, использовать не получится из-за https://forum.hiasm.com/post/316108
карма: 10
0
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)