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

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

Страницы: Пред. 1 2 3 4 5 6 7 След.
Хочется функцию CreateWindowEx...
 
Я там немного ошибся: это не сервисные функции, а функции для окон и таблиц.
Запись открытого интереса в файл.
 
Цитата
nikolz написал:
Луа хранит числа в двух форматах double(8 байт ) и long (4 байта)
Насколько я понимаю, у Луа, скомпилированного под 32-разрядную Виндовс, будут форматы float и long (по 4 байта), а если Луа скомпилирован под 64-разрядную Виндовс, то числовые форматы будут только double и int64 (по 8 байтов).
Запись открытого интереса в файл.
 
Цитата
snurhel написал:
Но в других источниках я читал, что number всегда занимает место 64 бита в формате double, даже если записано целочисленное значение. Так как все-таки Lua записывает числа?
Lua под х64 записывает числа в форматах int64 (только со знаком), и double (тоже 64). У них там в доке сказано, что тип integer это подтип типа number.

Если заглянуть в потроха Lua, то можно усечь, что в байтике, в котором хранится тип переменной number, для integer установлен дополнительный битик. Из-за того, что раньше (говорят, до вер. 5.3) в Lua не было целочисленного типа, теперь в выдаче скриптов приходится видеть дробные значения в полях qty (quantity, количество акций): напр., 12345.0. А при вызовах функций qlua, говорят, этот нолик с точкой надо убирать, напр., через math.floor(order.qty).
dll на C: удивительная ошибка...
 
Установил стандартную тему, сколько ни ходил по меню, левых иконок не увидел. Опять загрузил тёмную тему и сразу в меню "Система" начал наблюдать левые иконки. Какая связь тёмной темы с левыми иконками, если мой скрипт даже не запущен? И почему я раньше больше года не видел этих левых иконок? Может быть, это связано с обновлением Квика?

Не слышал пока о таких программах, которые загружают все dll, из соседних папок. :-) Зачем Квику при старте загружать, к примеру, DDE2EXCEL_PR.dll? Папки lib у меня нет.
dll на C: удивительная ошибка...
 
С cpath скорее не ошибка, а просто взял эту строку из чужого скрипта и не разбирался с ней.
ДЛЛ не загружена, потому что нет слова require.
Попробую поставить светлую тему и посмотреть. Там их по-моему всего две: светлая и тёмная...
dll на C: удивительная ошибка...
 
Не разгонял, но надо будет её проверить...
dll на C: удивительная ошибка...
 
Вот пара новых примеров, которые случились подряд, радиатор у ПК почти холодный.
Если сбоит память, то почему ни разу не было ошибок в работе программы, не говоря уже о вылетах по защите памяти? Исключительно то лишние свои, то посторонние иконки...
Баг с luaq.ru
 
Здравствуйте, Карина.

Спасибо, я это давно скачивал, только у меня в quik_lua.zip два файла оказались более старой (сентябрьской) версии.
dll на C: удивительная ошибка...
 
Кстати, идея обратить внимание на температуру не лишена остроумия: я сейчас потрогал рукой корпус, он был просто тёплый, я включил вентилятор и прошёлся по меню: а вдруг опять вылезет вчерашняя картинка? И она таки вылезла...

Ввиду китайскости этого ПК и того факта, что он работает с 2016 г., можно сделать вывод, что в нём что-то постепенно дохнет...
Но всё-таки логика появления картинок только в Квике и только в выпадающих меню непонятна... Хочется увидеть эти иконки также и в других программках.
dll на C: удивительная ошибка...
 
Строго говоря, я чувствую, что радиатор чуть тёплый, надо будет посмотреть конкретнее на температуру ЦП. Это, кажется, в BIOS показывают? Нет под рукой утилиты для показа температур.
Баг с luaq.ru
 
Я смотрю, этот баг, видимо, с настройками веб-сервера, так и не починили. Интересно, кому принадлежит домен и сайт luaq.ru, владельцам Квика? Выглядит сайт, как официальный.
Вопросы к спецам по Lua и Lua C API
 
Ошибка в грамматике: в связи с этим и вопрос...
Вопросы к спецам по Lua и Lua C API
 
Мне известно, что они увеличиваются и имеют размером степень двойки. Меня интересует, может ли внешняя длл сделать цикл по массиву и остановиться, если встретит nil, не выйдет ли она за пределы отведённой для массива памяти? Я с месяц назад писал о чтении массива напрямую без rawgeti, открою секретик: я разобрался в исходниках и структурах и умею из длл читать массив. Работает, как часы. Кстати, зависания Квика и были в результате отладки этой длл. Всвязи с этим и вопрос.
dll на C: удивительная ошибка...
 
Как я писал, он безвентиляторный, задняя стенка этой ребристой алюм. коробочки служит радиатором для ЦП. Он стоит на боку со снятой задней крышкой, перед ним стоит УСБ вентилятор. Я рукой пробую, если тепло, то включаю вентилятор, приоткрываю окно. Поэтому перегрева и близко нет.
dll на C: удивительная ошибка...
 
Под конец работы опять показалась та же картинка, но большего размера и в другом пункте того же меню.
dll на C: удивительная ошибка...
 
Вернее сказать, очень давно, то ли в Win98, то ли в Win XP я наблюдал такую картинку, когда Виндовс не хватало памяти в ОЗУ: на рабочем столе вместо некоторых иконок рисовались кусочки каких-то изображений. Сейчас диспетчер показывает, что занято 44% ОЗУ, не так уж и мало.
dll на C: удивительная ошибка...
 
Опа, только что я хотел похвастаться, что опять переустановил Квик и долгле время не вижу левых иконок, как опять появилось (см. аттач). Причём, после переустановки Квика я скриптов не запускал. Я установил Квик, обновил его, начал настраивать, т.к. свои wnd файлы я из его папки убрал, записал только в его папку папку с ключами и текстовый файл INFO.ini, чтобы меньше настраивать Квик. Этот файл выглядит целым.

Но на картинке уже не иконка, а кусок изображения курсора Виндовс (виден бублик у кусочек от стрелки). Помню, что я уже видел такую картинку на том же пункте того же выпадающего меню.

Какие будут предположения? Что-то испортилось на диске в файле Виндовс, сбоит ОЗУ? Проблема в этой самой тёмной теме (но почему только у меня?), вмешательство барабашки, инопланетян? При этом Квик работает. С такой головоломкой я ещё не сталкивался...
dll на C: удивительная ошибка...
 
За скорость радею, но за зрение радею ещё больше. :-) Первый раз слышу, что тёмная тема тормозит, это совершенно не логично...

Левые иконки стали появляться после зависания Квика, которые вызывала моя длл. Эти иконки появляются, когда работает мой скрипт чисто на Луа, без загрузки посторонних модулей. Он и до появления левых иконок работал.

Если рассуждать логически, то как могут возникнуть левые иконки в меню? Меню рисует Виндовс, содержимое меню сидит в ресурсах ехе файла. Но почему, если закрыть меню и сразу открыть, то Виндовс эти иконки уже не рисует? И почему они также рисуются слева от пунктов меню, для которых иконки не предусмотрены? Это загадка...
dll на C: удивительная ошибка...
 
Я USB-хабом не пользовался... Это, видимо, расширитель для USB, чтобы подключать больше USB устройств?
Не хватало мне ещё что-то докупать в связи с этой проблемой. Насколько я понял, она возникает по причине того, что при попытке загрузиться с флэшки BIOS не загружает (не знаю откуда) драйвер для работы с флэшкой. Максимум, что я видел при многочисленных попытках загрузить Акронис с флэшки, - это первоначальная заставка программы, которая как-то всё-таки читается с флэшки, и потом всё мертво.

А вот на моём рабочем маломощном мини ПК BIOS с разблокированными доп. функциями: можно, напр., запретить какой-то порт SATA. Это очень удобно, если есть два загрузочных диска и хочется, чтобы при загрузке с одного из них другого не было видно.

Помню, я как-то нарвался на неприятную особенность вин10: стоял на ПК загрузочный диск с вин7, я к нему подключил ещё один диск и установил на него вин10. И эта вин10 без спросу полезла на диск с вин7 и сделала так, что с него уже нельзя было загрузиться, а можно было загрузить с него вин7 только через меню выбора ОСдля загрузки при загрузке с диска с вин10. Если убрать диск с вин10, то загрузка с диска с вин7 стала невозможна. Причём, никаким ковырянием настроек вин10 нельзя было это отменить и вернуть загрузку с диска с вин7!!!

Я хотел найти в Интернете ответ на вопрос: что будет, если на ПК стоит загрузочный диск с вин10 и я подкючу к нему ещё загрузочный диск с вин10: не получится та же история, как и с вин7? Ответа я не нашёл. Может, здесь кто-то знает ответ?

Я сколько-то лет назад делал такой фокус: ретранслировал и исправлял mbr загрузчик в 1-м секторе диска и добавлял к нему маленькое меню: с какого диска грузиться, с 1-го или со 2-го? Мой фрагмент кода обрабатывал нажатие клавиши через BIOS и в mbr секторе на диске, с которого не грузимся, исправлял байт в таблице разделов, чтобы он выглядел, как неразмеченная область диска, чтобы виндовс туда не лезла. Но не хочется вспоминать всё это дело, да и у этого Topton диск размечен как GPT, а с GPT я не умею делать такой фокус...
Хочется функцию CreateWindowEx...
 
Не хватает функции CreateWindowEx (из набора сервисных функций qlua). Она должна принимать также название вкладки, на которой должна будет создать окно. А то на текущей вкладке может не быть места для окна, приходится его вручную перемещать на другую вкладку. Под названием вкладки я имею в виду текст, который на ней написан в Квике, напр., "Графики", "Новости". Разумеется, должны быть и остальные функции с добавкой Ex для работы с окнами, напр., DestroyTableEx.
Баг с luaq.ru
 
Хм, при запросе других страниц, напр., luaq.ru/CreateWindow.html, сохраняется то же самое.
Хороший был справочник по функциям qlua...
Баг с luaq.ru
 
Сейчас вижу баг с этим сайтом: вместо показа страницы браузер предлагает сохранить её содержимое на диск. К примеру, вот что сохраняется из корня сайта:
Скрытый текст
dll на C: удивительная ошибка...
 
Вот здесь ещё есть его описание: https://habr.com/ru/articles/694440/
На моём топтоне, в отличие от этой статьи, насколько я помню, в BIOS нет меню Advanced.
dll на C: удивительная ошибка...
 
Да, я уже подумывал так сделать... У меня тут за дисплеем валяется ещё один китайский мини ПК, но уже 6-ядерный, я хотел на него установить Квик, но тогда придётся переключать туда-сюда эзернет провод от модема и от дисплея... Я не смог сделать так, чтобы он получал Интернет от модема через вайфай и не смог загрузиться на нём с флэшки, чтобы снять копию диска, из-за ущербности/урезанности его BIOS (при загрузке возникает надпись Evaluation version). Это TopTon Computer, и это известная проблема: https://4pda.to/forum/index.php?showtopic=994767&st=160 Если бы не этот дурацкий BIOS, то это был бы замечательный мини-ПК...

Видимо, придётся опять установить Квик на этот же маломощный мини-ПК, на котором работаю сейчас, и опять с нуля делать конфигурацию для wnd файлов...
Окно сообщений перехватывает фокус ввода
 
Спасибо, разумеется, если закрыть окно сообщений, то фокус вернётся назад автоматом (виндовс вернёт). Хотелось бы, чтобы он сразу возвращался при возникновении окна сообщений, как я написал выше.

Мне давно хотелось, чтобы не возникали сообщения с какими-то экспирациями фьючерсов, но при этом я боялся упустить какие-то важные сообщения... Оставил пока галочки в "Отмеченные, как важные" и в "Ошибки транзакций".
dll на C: удивительная ошибка...
 
МенЯ продолжают преследовать эти иконки... Сегодня я не запускал этот скрипт с длл, сейчас только захотел закрыть Квик и в некоторых выпадающих меню обнаружил подобную картинку, как в аттаче. Это повторилось раза 3-4 подряд, но я не могу через клавишу PrtScr запиасть несколько копий экранов... В этих меню Квика слева от каждого пункта встречалась также иконка в виде барашка от SoftPerfect RAM Disk, который сидит в трее.

И это в недавно скачанной версии Квика... У меня только одно предположение: возможно, как-то подпорчен wnd файл, который сегодня был загружен в Квик. Но я с этим файлом сегодня торговал...
Вопросы к спецам по Lua и Lua C API
 
Ещё возник такой вопрос о выделении памяти под массив в таблицах Луа. Я смотрел исходники на бразильском, но с налёту так и не смог выяснить: по-бразильски я ещё не очень понимаю, да и буковки там мелкие, плохо видать...

Вопрос такой: может ли быть случай: когда вся память, выделенная под массив, занята элементами этого массива? Напр., выделена память под 8 элементов массива и в нём сидит 8 элементов?

Я пытался поискать мнения тех, кто разобрался в этом, нашёл вот это замечание Бориса Нагаева:
https://qna.habr.com/q/117781
Но из него так до конца и не понял ответа на мой вопрос...
По поводу текущей паники в акциях
 
Цитата
nikolz написал:
у меня за это время робот перевернулся надцать раз
В гробу? :smile:  
По поводу текущей паники в акциях
 
Кстати, есть ли граф. биб-ка для си (не для си++, я на нём не пишу), с пом. которой можно было бы рисовать векторную графику как во флэш? Я когда-то делал игры в ехе файлах, в ресурсах которых сидел флэш плеер от Адоба в виде ocx файла, и который работал через компонент Дельфи то ли через оле, то ли через дде (МС зачем-то наплодила кучу такого добра). Но это была 32-разрядная Дельфи. Есть ли что-то подобное для гну си под x64? Я пока нашёл граф. биб-ку SDL, попробовал компилировать в gcc и  запускать примеры, они работают (с этим обычно бывают проблемы). Но если в этой растровой биб-ке попробовать рисовать красивые кастомные свечи (к примеру, на мл. таймфреймах золид цветом, а поверх них рисовать свечи со старших таймфреймов с частичной прозрачностью) для хорошй наглядности, и тогда не надо будет переключаться между таймфреймами, то возникают сложности с перерисовкой фона под полупрозрачными свечами. Если это делать в DirectDraw, то в нём с пом. bltfast можно быстро перерисовывать всю раб. область окна (или весь экран в полноэкране). А с флэш плеером не надо было заботиться о перерисовке фона, он сам это делал.

Я давно делал игры по своим идеям в чистом Win API на Дельфи под DirectDraw 3.3, мою тетрисоподобную игру с 35-ю фигурками гексамино одна немецкая игровая контора выбрала для своего CD из всез российских тетрисов как лучшую по играбельности, а выбирали они с пом. российской игровой конторы Alawar, которая происходила из Новосибирского Академгородка.

Но то было давно и в Дельфи 7 от 2002-2003 г. выпуска, а сейчас я перешёл в си и в 64 разряда...
По поводу текущей паники в акциях
 
Как сегодня выяснилось, выходить в деньги мне было невыгодно (но не слишком).
Окно сообщений перехватывает фокус ввода
 
Иногда надо быстро набрать в стакане в поле Q количество акций для заявки, а в это время выскакивает окно сообщений и приходится щёлкать по полю ввода для возврата фокуса. Это нервирует и способствует ошибкам. Можно сделать так, чтобы при появлении этого окна фокус ввода возвращался на прежнее место. Насколько я знаю, Win API возвращает хендл окна, у которого был отнят фокус ввода.
dll на C: удивительная ошибка...
 
Вроде бы разобрался: в 1-й строчке скрипта надо было правильно записать package.cpath = ...
dll на C: удивительная ошибка...
 
Похоже, нашёл причину (но могут быть и другие): если моя dll имеет, к примеру, имя aaa.dll (тогда в скрипте, который её использует, будет require('aaa')) и если интерпретатор lua найдёт в папках из global variable LUA_PATH или из environment variable LUA_PATH файл aaa.lua, то интерпретатор загрузит его вместо aaa.dll, отсюда, видимо, и возникает "C stack overflow". А я давал этой dll и скрипту одинаковое имя!  :sad: Тогда, получается, выполняя этот require, интерпретптор не загружал ничего или повторно загружал мой скрипт типа aaa.lua?  https://www.lua.org/pil/8.1.html

Почему же в require нельзя задавать расширение файла, чтобы не было путаницы? :what:  
dll на C: удивительная ошибка...
 
А сейчас что бы я ни делал, 1-й раз после запуска Квика мой скрипт отрабатывает (есть звук), а при последующих вызовах "C stack overflow". Но стоит в скрипте вместо моей dll вставить require("w32") и всё работает, хоть 10 раз вызывай звук - всё нормально! Причём, каких-то принципиальных отличий в моём исходнике С от luaw32.c от swerg нет! :shock:  
dll на C: удивительная ошибка...
 
Выхожу из Квика, удаляю tmsg.dat, запускаю Квик, запускаю свой скрипт: работает, выдает звук. При следующих запусках этого скрипта возникает "C stack oferflow"... Кстати, в этом меню видел уже другую левую иконку на другом месте (см. аттач).
dll на C: удивительная ошибка...
 
Попробую удалить файл tmsg.dat, куда зачем-то записываются имена скриптов и текст ошибок ("C stack overflow"), может, после этого перестанут появляться эти дурацкие иконки...
dll на C: удивительная ошибка...
 
Да, и как раньше: стОит закрыть это меню с левой (левыми) иконкой и опять открыть, "ан демонов-то и нету!" (С)
Прямо, как в песнях от Ларисы Мондрус и Нины Бродской: "Вот она была и нету!!!" (С)
https://www.youtube.com/watch?v=szaIkbW0tH8
https://www.youtube.com/watch?v=wnvFAE3RFLw
dll на C: удивительная ошибка...
 
Сейчас вышел из Квика, подождал, опять вошёл и сразу же в меню "Сервисы" увидел левую иконку напротив "Скрипты" (см. аттач). А с час назад я видел напротив "Скрипты" другую левую иконку: с буквой i (как в окне с информацией). И это на том Квике, который я сегодня вечером скачал и установил!

Кто-то может объяснить эти особенности этой чудесной программы? Там в Квике юзерам молоко за вредность дают?  :what:  
dll на C: удивительная ошибка...
 
Кстати, после ошибки "C stack overflow" опять иногда в выпадающих меню стали возникать посторонние иконки.

Методом тыка выяснил, что, если перед переименованием и перекомпиляцией моей dll, выйти из Квика, а после переделки моих программ опять в него войти, то ошибка "C stack overflow" не возникает при переименовании dll на те имена, когда эта ошибка возникала раньше, когда я при этом из Квика не выходил.

Т.е. получается, что если запустить мой скрипт с dll, а потом при запущенном Квике переименовать эту dll и изменить это имя в луа скрипте, то при запуске этого скрипта возникает ошибка "C stack overflow". И потом даже если перезапустить Квик, эта ошибка всё равно возникает, пока из него не выйдешь и не переименуешь dll, тогда эта dll под другим именем уже работает. Похоже, dll, загруженная моим скриптом, после его завершения, остаётся в памяти процесса Квика и это вызывает ошибку при повторном старте этого скрипта, который вызывает аналогичную dll с другим именем. Да ещё иконки иногда начинают меняться также при последующих сеансах работы Квика. О такой маразматической ошибке Квика мне бы и в кошмарном сне не приснилось...
dll на C: удивительная ошибка...
 
Вернее, лампа стоит сзади и тень от головы и от рук на клавиатуру падает...
dll на C: удивительная ошибка...
 
Пардон, свет от лампы на клавиатуру падает, не туда нажимаю. Вместо
"одовил до посленей версии, переписал dat, ihi"
должно было быть
"обновил до посленей версии, переписал dat, ini".
dll на C: удивительная ошибка...
 
Сегодня скачал с сервера брокера Квик, установил его и одовил до посленей версии, переписал dat, ihi, wnd файлы и файлы с ключами из того, что было, попробовал этот пример, о котором писал здесь в 1-м сообщении - всё повторилось то же самое с ошибкой при имени mydll.dll и отсутствии ошибок при luacdll.dll.

Я сравнил содержимое exe и dll файлов новой копии Квика и той, на которой работал ещё в черверг, - они не отличаются. Поэтому непонятно, отчего у меня в выпадающих меню иногда рисовались левые иконки...
dll на C: удивительная ошибка...
 
Так я же написал, что наличие или отсутствие ошибки "C stack overflow" определяется исключительно именем dll: если назвать её mydll.dll, то эта ошибка возникает, а если назвать её, скажем, luacdll.dll, то она работает и выдаёт звуки.
Могу закачать исходники, если кому интересно проверить у себя, но там надо транслировать через gcc.exe:
gcc.exe mydll.c -o mydll.dll -mdll -O2 -s -L. -llua54 -m64 -std=c17
dll на C: удивительная ошибка...
 
Хм, может быть, тут дело в gcc.exe? Кому не нравится имя mydll.dll??
dll на C: удивительная ошибка...
 
У меня на диске валялся другой (старый, вер 8.9) Квик (от банка РСХБ), которым я не пользовался, я в него залогинился, он обновился, но почему-то не до 11-й, а до 10-й версии. Я в нём проверил эту dll, и в нём повторилось то же самое: mydll.dll вызывала "C stack overflow", а такая же luacdll.dll работала. Поэтому версия, что дело тут в обновлении Квика, сомнительная...
dll на C: удивительная ошибка...
 
Забыл добавить, что внутри luacdll.c и mydll.lua я везде "mydll" тоже поменял на "luacdll".
dll на C: удивительная ошибка...
 
На основе w32.dll сделал на C маленькую mydll.dll для проигрывания звуков MessageBeep и mciSendString. Она работала, но через некоторое время перестала и при запуске соотв. Lua скрипта выдавалось сообщение "C stack overflow". Я 2 дня по-разному менял код, но это сообщение оставалось. Похоже, что эта ошибка стала появляться после очередного обновления Квика, т.к. кроме этого всё оставалось тем же со времени, когда mydll.dll работала. Остальные мои аналогичные dll продолжают работать. Только что методом тыка я поменял имя dll с mydll.c на такое же моё имя, что работает: на luacdll.c (luacdll.dll). И эта dll стала работать. От одного только переименования файла!

Как это можно объяснить??
Получить всю таблицу целиком, Получить всю таблицу целиком без цикла
 
Хм, движок форума съел у меня один доллар... В коде в предыдущем сообщении перед переменной a должно стоять целых два доллара.
Получить всю таблицу целиком, Получить всю таблицу целиком без цикла
 
Кстати, возникло любопытство: как в SearchItems по именам переменных, заданных в строке, получают сами эти переменные?

В последнем (необязательном) параметре SearchItems получает строку вида 'flags, price, sec_code', а пользовательская функция, которую вызывает SearchItems для фильтрации записей из таблицы, получает уже сами эти переменные:
local function fn(flags, price, sec_code). Как я понял, Lua не Perl, который был гениальной задумкой Larry Wall: в Перле a - имя переменной, $ - оператор разыменования, который по имени переменной выдаёт её значение. Поэтому, если $a = 'b', то $$a это то же, что и $b:
Код
$a = 'b';
$b = 'bbb';
print "$$a\n"; # выводит строку bbb
Если в Lua действовать полным перебором типа "если в строке имя переменной 'flags', то берём переменную flags и т.п." Получится очень большой перебор, особенно, если иметь в виду, что в этой строке для SearchItems можно указывать поля вложенных таблиц, напр., 'datetime.hour'.

Кто тут глубокий копатель Lua, который может это объяснить?
По поводу текущей паники в акциях
 
Случайно так получилось, что в начале торгов я быстро всё продал по хорошей цене, а она после этого быстро опустилась на 3 пункта и, похоже, на этом устаканилась. Хотя, вчера поздно вечером покупатели поддавливали. Да, не совсем оправдалось предположение автора канала "Профита нет"...
Страницы: Пред. 1 2 3 4 5 6 7 След.
Наверх