Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 124
1

Опять подводные грабли или Delphi 7 шутит?

16.12.2017, 23:11. Показов 965. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Все началось со вчерашнего вечера, сидел я дома, наслаждался выходным.
После чего, мне написал человек, мол: " у меня ничего не работает, после того, как
ты написал софт". Сращу же начал я шаманить с чертовой ошибкой ERangeError и знаете что?
Я пришёл к выводу, что баг этот с этой ошибкой зависит от разрядности ОС.

Разработка шла на Win10 x64, у меня все работает.
Человек запускает на Win8.1 х32, у него бьёт ошибку.

Кинулся я в гугл, но ответа не нашел на этот вопрос.
Что вызывает эту ошибку (виновника) , тоже не было найдено.
Единственное моё подозрение на функцию для отправки
запроса на WinInet, где и происходит работа с буферами.

Прошу какой-либо подсказки куда ковырять или как обеспечить поддержку х32?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2017, 23:11
Ответы с готовыми решениями:

Новые теги HTML или MS шутит
Из ms word сохранил таблицу в html, после очистки Adobe Dreamweaver CC 2017 остались теги o, f и n...

Delphi 10.2 – уменьшение размера приложения и подводные камни
Доброе время суток, Только поставил Delphi 10.2, создал ПРОСТО ФОРМУ, и скомпилировал ее, «exe»...

подводные камни при переходе на delphi 2010
Скажите как перейти с delphi на rad studio 2010.

Отмотка счетчика 2 или Старые грабли
В свойственной себе подтуповатой манере проверять все самому собрал схему т.н. "генератора...

10
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
17.12.2017, 01:19 2
Цитата Сообщение от stasuk25 Посмотреть сообщение
где и происходит работа с буферами
Вот и покажите код, который работает с буферами.
Мои программы все 32-битные. В них много работ с буферами. На х64 проблем никаких.
0
7 / 7 / 2
Регистрация: 21.07.2016
Сообщений: 68
19.12.2017, 13:25 3
Delphi 7 - 32 битная!
1
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
20.12.2017, 15:17 4
Цитата Сообщение от stasuk25 Посмотреть сообщение
Разработка шла на Win10 x64
Это как это? Я думал, Вы программу на Delphi разрабатывали... Вот там-то и надо смотреть, для какой платформы Вы ее компилировали.

Добавлено через 1 минуту
RatWar, где хоть слово о том, что разработка велась в Д7?
0
7 / 7 / 2
Регистрация: 21.07.2016
Сообщений: 68
20.12.2017, 21:26 5
Опять подводные грабли или Delphi 7 шутит? - Delphi
Это заголовок темы, значит разработка велась в Delphi 7, а она 32-х битная
0
Asm/C++/Delphi/Py/PHP/VBA
6528 / 1973 / 228
Регистрация: 14.12.2014
Сообщений: 4,125
Записей в блоге: 12
20.12.2017, 22:54 6
Человек пишет, что "Разработка шла на Win10 x64". Перевожу: "Я компилировал на Delphi 7 из-под Win10 x64".
Причём тут "Delphi 7 - 32 битная!" ?

Добавлено через 1 минуту
Короче, stasuk25, код нужен. Вероятно, там какой-то косяк, который x64 (или любая 10-ка) хавает, а 8.1 x86 спотыкается.
0
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
21.12.2017, 01:31 7
Цитата Сообщение от Jin X Посмотреть сообщение
Короче, stasuk25, код нужен. Вероятно, там какой-то косяк, который x64 (или любая 10-ка) хавает, а 8.1 x86 спотыкается.
Про необходимость кода я уже ТС сказал. Даже ограничил рамки необходимого для приведения на форум кода.

Не по теме:

P.S.
Добавлю только что о влиянии версии ОС можно говорить только после проверки на десятках компьютеров. Двух компьютеров для такого заключения недостаточно от слова совсем.

0
Джоуи
1081 / 643 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
21.12.2017, 22:28 8
Прежде всего скажу: не стоит разрабатывать на D7 под 64-разрядной виндой. Это плохо и чревато.

Всем 32-битным приложениям, работающим в x64 среде, характерно следующее:

1. Обращение в некоторые разделы реестра (и запись, и чтение) перенаправляется в специальные так называемые WOW64-ветки. В результате, приложение даже не поймет, что обращается не совсем в нужную ветку. Затрагиваемые разделы: https://msdn.microsoft.com/en-... 85%29.aspx

2. То же самое касается работы с файловой системой, опять же, в некоторых случаях, например, 32-bit приложение не сможет записать/прочесть из папки system32 в 64-битной винде. Ей будет подсунута sysWOW64

P.S. Данное подсовывание можно явно отменить. Об этом читайте на msdn. Но лучше все же переходить на более современную версию Delphi.
1
Джоуи
1081 / 643 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
23.12.2017, 21:54 9
Дополнительно: Проверка ключей реестра на подверженность перенаправлению Wow6432 (redirected, shared, reflected)
0
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
24.12.2017, 02:27 10
Joey, ну не надо слишком много уделять вопросам версий Виндовс в данной ситуации. Особенно относящимся к витруальным папкам и виртуальным веткам реестра. Ведь ТС упомянул
Цитата Сообщение от stasuk25 Посмотреть сообщение
ERangeError
Добавлено через 12 минут
Ну и по поводу
Цитата Сообщение от Joey Посмотреть сообщение
не стоит разрабатывать на D7 под 64-разрядной виндой. Это плохо и чревато.
Имхо, это абсолютно ничем не чревато. Я сам разрабатываю или поддерживаю 32-битное ПО под Win7 64х. Единственная проблема была с использованием BDE при размещении БД в Program Files. Ну это собственно и ожидалось. Достаточно было поместить БД в непроблемное место на диске и всё.
1
Джоуи
1081 / 643 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
24.12.2017, 07:42 11
Цитата Сообщение от northener Посмотреть сообщение
ERangeError
Не обратил внимание
Цитата Сообщение от northener Посмотреть сообщение
Имхо, это абсолютно ничем не чревато.
Если разработчик начнет обращаться к вышеназванным веткам реестра или директориям, то начнется веселая жизнь.
Лирическое отступление
Одна из моих первых прог была как раз на D7 под x64-виндой, и это привело к ошибке, которой я отдал много времени. Компилируешь - не возникает никаких ошибок, даже читаешь значение реестра или проверяешь, существует ли созданный файл - все true. Заходишь через проводник или regedit - ничего не создано. Много моих времени и нервов полегло на решение этой загадки.
0
24.12.2017, 07:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2017, 07:42
Помогаю со студенческими работами здесь

SD через SPI или новые грабли STM32F415
Доброго всем времени суток! Продолжая ковырять свое устройство наткнулся на некоторую интересную...

Возвращаемся на старые грабли или снова тормоза системы
У этого компьютера проблемы были, но решение было следующим...

Не надо наступать на мои грабли или типы чисел
Просто хочу поделиться, может это кому еще и пригодится. 1. Ошибка присвоения значения....

Delphi и кодировка. Опять.
Здравстуйте. Я с помощью Indy посылаю запрос на один сайт. Получаю ответ, и все бы хорошо, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru