101 (2021-01-22 13:06:59 отредактировано kalikazandr)

Re: w32 - Вызов WinAPI функций из Lua

swerg пишет:

Проигрывание звуковых файлов из Lua

перестало работать, требует первый аргумент  integer, теперь так
B1 = math.floor( A1 * (poluton ^ 2) )

102 (2021-01-22 21:48:45 отредактировано swerg)

Re: w32 - Вызов WinAPI функций из Lua

kalikazandr, можно полнее код? про какой именно речь.
Я действительно часть аргументов переделываю на integer, т.к. они теперь int64 и этого более чем достаточно. Но может какие-то примеры в самом деле отваливаются...

103

Re: w32 - Вызов WinAPI функций из Lua

swerg пишет:

kalikazandr, можно полнее код? про какой именно речь.
Я действительно часть аргументов переделываю на integer, т.к. они теперь int64 и этого более чем достаточно. Но может какие-то примеры в самом деле отваливаются...

https://quik2dde.ru/viewtopic.php?pid=461#p461 "Аларм" встроенным динамиком

104 (2021-01-24 21:59:45 отредактировано swerg)

Re: w32 - Вызов WinAPI функций из Lua

Посмотрел на реализацию w32.Beep()
Там изначально первым аргументом требовался int. Просто видимо в предыдущих версиях Lua в QUIK из-за того, что все числа были double на самом деле это не контролировалось (лишь предположение, проверять лень). В любом случае там изначально было checkinteger.
Теперь же в Lua5.3 у нас проявился честный int и честный контроль целочисленности аргумента.

Формально WinAPI функция Beep принимает целочисленные параметры.
Однако, вероятно, именно для win32.Beep есть смысл сделать тут "послабление" для первого параметра, коль скоро частоту в самом деле удобно вычислять в некоторых случаях, причем вычисления эти конечно же происходят в double.

Переделаю в след. версиях так, чтобы первым параметром можно было передавать и double.

UPD
Сборка поправлена, пример с w32.Beep() снова работает.
kalikazandr, спасибо за баг-репорт!