vgi (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3
Dangerous Date, Падение интерпретатора lua и зависание Quik'а вместе с ним при ошибке в os.date(format).
 
Возможно баян, но заметил, что интерпретатор Lua падает с ошибкой (скриншот), а Quik зависает намертво, если при форматировании даты с помощью os.date(format) допустить ошибку в format.
Будьте осторожны, pcall и xpcall бессильны с ней справиться!

Например:
Код
local r,err = pcall( function()
   print(os.date("%d.%.m.%Y")) -- error
   --print(os.date("%d.%m.%Y"))
   return 1
end )
print(r,err)


Возможно, эту беду починили в Lua 5.2
Падение QUIK с General Protection Fault, DestroyTable() и Clear() при вызове из функции обратного вызова для обработки событий в таблице
 
Причина интересна, но как временное решение может попробовать не уничтожать/создавать таблицу, а скрывать/показывать, очищая/меняя содержимое?
проверка файла на существование
 
Цитата
Sergey Denegin написал:
А подскажите пожалуйста, где его скачать и куда положить нужно?

Скачайте отсюда https://code.google.com/archive/p/luaforwindows/downloads два первых дистрибутива LuaForWindows_v5.1.4-46.exe и vcredist_x86.4053.exe. При установке они должны лежать рядом.
После установки, найдёте path.lua в C:\Program Files\Lua\5.1\lua\pl.
И не забудьте про
Код
package.path = package.path .. ";C:/Program Files/Lua/5.1/lua/?.lua"
проверка файла на существование
 
Ещё в стандартной Lua for Windows 5.1 есть path.lua, где много всего полезного.

Код
local path = require"pl.path"
if path.exists(filename) then
   ...
end
Кто как решил вопрос уведомления о сделках?
 
Есть хорошая обёртка для отправки писем lua-sendmail: https://github.com/moteus/lua-sendmail
Ей потребуется luasec, который в уже собранном виде можно взять из ссылки из третьего поста вот такого топика: http://lua.2524044.n2.nabble.com/Luasec-for-Windows-td7671151.html
Там несколько скомпилированных ssl.dll - для Lua 5.1, 5.2 и 5.3.
Файлы libeay32.dll и ssleay32.dll пришлось на одном компе ( WinXP ) положить в C:\Program Files\Lua\5.1\clibs и заработало,
а на других компах ( Win8, Win10 ) удалось только копированием в папку с Quik'ом, иначе прилетала такая ошибка:
"error loading module 'ssl.core' from file 'C:/Program Files  (x86)/Lua/5.1/clibs/ssl.dll': Не найден указанный модуль"

С помощью sendmail можно слать письма и с серверов, требующих ssl/tls ( порт по-умолчанию 465 )
Вот примеры для mail.ru и gmail.com:

Код
local sendmail = require("sendmail")

local result,error = sendmail{
    from = 'from@mail.ru',
    to = 'to@some.domen',
    server = {
        ssl = {
            protocol = "sslv3",
            verify   = {"none"},
            options  = {"all", "no_sslv2"},
        },
        address  = 'smtp.mail.ru';
        user     = 'from@mail.ru';
        password = '***';
    },
    message = { subject = "Тема", text = "текст", },
}

local result,error = sendmail{
        from = 'from@gmail.com',
        to = 'to@some.domen',
        server = {
            ssl = {
                protocol = "tlsv1",
                verify   = {"none"},
                options  = {"all" },
            },
            address  = 'smtp.gmail.com';
            user     = 'from@gmail.com';
            password = '***';
        },

        message = {
            subject = "Тема",
            text = [[ 
                Some
                Text
            ]],
            file = 'C:\some.file',
        }
    }
Страницы: Пред. 1 2 3
Наверх