|
Заблокирован
|
||||||
Чем событие Button Click отличается от события Button Click или крах компилятора ассемблерных оптимизаций13.03.2023, 12:07. Показов 2611. Ответов 27
Метки нет (Все метки)
Это крах ассемблерной оптимизации в Lazarus - быть точнее крах компилятора, или что-то тут не так. Почему? Потому что нажатие на кнопку ничем не отличается от нажатия на кнопку. То есть всё переменные, всё-всё-всё что моё - объявлено у меня внутри
procedure TForm1.Button1Click(Sender: TObject); Но увы - практика показала, что нажатие на кнопку в корне отличается от нажатия на кнопку, и причём - в коде причин этому - я не обнаружил никаких. Как всё было по порядку: В общем занимался я себе тюнингом своего ненаглядного "трактора" , и по ссылке рабочий код. Всё шло хорошо, пока я не решил что мало ассемблерной оптимизации и нужно добавить ещё. Добавил, и опишу как теперь это стало работать. Делаете первый запуск программы, размер поля по умолчанию 10 на10, угол 15, обратите внимание на правый столбец, первые верхние ячейки https://www.cyberforum.ru/blog... 1678659824 не закрывая программы измените размер поля на 20 на 20, вы уидите уползшие влево по таблице результаты работы, не закрывая программы измените размер таблицы снова 10 на 10, результаты снова уползут влево - вы это увидите обратив внимание на верхние ячейки правого столбца. И всё это происходит при том что все переменные объявляются снова при каждом нажатии кнопки. То есть становится совершенно очевидно, что даже если ошибка моя, то шансы её отловить при столь некорректной работе чего-то важного но явно не мной сделанного - нулевые. Очень жаль. И вот его вот эта реализация что работает с ошибкой, описанной в теме Кликните здесь для просмотра всего текста
Ссылка на код работающий без ошибок https://www.cyberforum.ru/blog... g7996.html Ну вы понимаете что тут я ничего сочинять не могу, и нажатие от кнопки для среды совершенно одинаково с нажатием этой-же кнопки, если всё перменные объявлены при этом с ним-же снова. Как я могу искать при условии что нажатие на кнопку не равно нажатию на кнопку - какую-то ошибку. Дайте совет если можете - как я могу сделать это если код работает как хочет, а не так как его писали. Я не писал так, чтобы одно и то-же было разным, я пишу так, что одно и то-же оно - одинаковое. В общем спаисбо за внимание, вряд-ли мне кто-то чем-то поможет. Но думаю, что может ... когда нибудь...ведь свистел уже раз рак на горе... вдруг ещё...
0
|
||||||
| 13.03.2023, 12:07 | |
|
Ответы с готовыми решениями:
27
Два события Click Button События Click для Button Событие click() по элементу button |
|
Заблокирован
|
||
| 20.03.2023, 13:46 [ТС] | ||
|
А что там будет в моём флаконе - это вообще не интересно я об этом даже не задумываюсь особо - главное что оно должно выполнять задачу что я поставлю: это просто должно работать быстро и эффективно. И чем больше ассемблера - тем больше у меня возможностей. Хотя в принципе мне он так-то больше и не нужен ни для чего пока, кроме этих джампов. Добавлено через 10 минут Жаль не все производители видеокарт открывают свой ассемблер, так-то мне и OpenCL и CUDA были-бы не нужны. Нужно искать видеокарты с ассемблером. А так как программируют программисты - мне не интересно, я так не хочу делать как они, мне это не нравится. Единственное - что деваться некуда, и приходится пользоваться тем, что уже наделали.
0
|
||
|
1071 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,447
|
||
| 20.03.2023, 14:41 | ||
|
Первое - разделить расчеты с гуем, использовать функции, попробовать избавиться от goto и label. как правило ассемблерные вставки используют вместо бубна для быстрого вычисления чего-либо. А нужно ли оно вообще? если нужно то опять же обернуть в функции
0
|
||
|
Заблокирован
|
||
| 20.03.2023, 15:45 [ТС] | ||
|
Удачи. Транжирьте без меня и свои. Изучением фантиков заниматься не планировал. С голоду не умру без конфеток. Изучать фантики нужно только в том случае, если под ними вместо нормальной еды г какое-нибудь. Я воспользовался тем что было - нормально всё прошло, теперь буду дальше думать так, чтобы фантиками не закидали. А то слишком много фантиков.
0
|
||
|
Заблокирован
|
|||||||||||||||||||||
| 24.03.2023, 00:42 [ТС] | |||||||||||||||||||||
|
Странно, проверял выполнение после того как влез в математическую часть, пришлось математику вернуть
После удаления CUDA исчез скриншотер - стало выдавать ошибку После возврата математики быстродействие при проверке без сохранения не упало математику вернул, ассемблерную вставку Head оставил
Кликните здесь для просмотра всего текста
Что-то да, что-то я перенапрягся с математикой, влез там улучшать её, вроде было норм, но сегодня как и обычно решил проверить - всё ли на своих местах, и вот с математикой оказалось что нет. Хотя было, но что-то смотрю и скриншот один и тот-же два раза запостил. За весь отпуск ни грамма выпивки, тем более при работе с кодом. А то заколебали трезвенники-язвенники писать что я на веществах сижу. Это они сидят. Причём конкретно-уже не спрыгнут. Мне от этого не легче - просто они не хотят спрыгивать. Сейчас скриншотер установлю по новой. Добавлено через 7 минут Работает в точности как без ассемблерной вставки Head Добавлено через 6 минут И кстати вообще что-то страшное там произошло, почему-то чередование перестало работать. Странно...в третьем проекта осталось. Ладно, поправлю. Добавлено через 35 минут Ну хорошо, допустим что я увлёкся с ассемблером, и почему-то вдруг стёр с расчётов ранее объявленную переменную, весящую теперь в объявах. Исправил, без проблем. Тестил на таблице 20 на 20 под углом 20, ну и конечно 45
Добавлено через 2 часа 46 минут В общем увидев что математика мною прикрученная подходит плохо, я решил ввести условие и переменную, потому что человек который предлагал на перегонки проги погонять - лгун, я это знаю точно, и по опыту общения, и по его аргументам - они нулевые. Ничто быстрее тупого трактора, который ничего, или практически ничего не считает - быть не может. Поэтому я сделал так Кликните здесь для просмотра всего текста
и вот так TracerX:=RazmerX-(stepFrequent*y+znak*trunc(y/(stepsBig))+Ostatok1);// понятно что программа рано или поздно может дать ошибку, чисто гипотетически, когда погрешность при делении Y на stepsBig ,превысит целое, но она этого не сделает, потому что значение stepsBig - целое число. То-есть при любых размерах поля - это должно работать, а вот как у него - тот ещё вопрос и мне не интересно даже то, как он обходил условия - он мог организовать иначе, но тогда там и алгоритм Брезенхема не нужен и вовсе. Просто нужно понимать - где нужны формулы, а где нет, я это прекрасно понимаю и не прочь включить мозги, вместо того чтобы жечь ресурсы. Я дико извиняюсь, не знаю где вести дневник проекта. Понимаю что всем тут надоел.
0
|
|||||||||||||||||||||
|
Заблокирован
|
||
| 24.03.2023, 10:52 [ТС] | ||
|
Поэтому можно сказать и так - очередная здравая мысль.
0
|
||
|
1071 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,447
|
|||
| 24.03.2023, 15:27 | |||
|
0
|
|||
|
Заблокирован
|
|
| 25.03.2023, 21:45 [ТС] | |
|
Гит в смысле гитхаб? Ну так то да, просто гитхаб слишком глобально, хотя если сделать привязок у себя в профиле, то наверное не плохо.
0
|
|
| 25.03.2023, 21:45 | |
|
Не вызывается событие Button.Click Как определить обработчик события Button.Click Реализовать метод Гаусса для события button.Click Groupbox.BackColor=Transparent, не срабатывает событие click button Элемент Label, поддерживающий событие Click как у Button Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|