Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Круглый стол
  
Правила КС
>> Настройки

Фильтр вопросов
>> Новые вопросы
отслеживать по
>> Новые ответы

Избранное

Страница вопросов
Поиск по КС


Специальные проекты:
>> К л ю к в а
>> Г о л о в о л о м к и

Вопрос №

Задать вопрос
Off-topic вопросы

Помощь

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  21:21[Войти] | [Зарегистрироваться]
Ответ на вопрос № 83602

08-11-2018 12:53
Помогите с проблемой в Delphi 7.
В проекте в разделе Const много констант всяких разных.
И в IDE Delphi Project\Information for... в строке Data Size
стоит число 66569 байт.
При попытке добавить еще константы Data segment разрастается настолько, что при попытке отладки программы встроенными средствами отладчик останавливается в произвольном месте программы, соответственно с ошибкой (например посередине какой-то процедуры, когда ее переменные не определены).
Похоже на то, что используется 16-битная адресация, хотя среда 32 битная. И, соответственно, компилятор компилирует код, где использует регистры вы [ds] вместо [eds].
Вопрос: Как управлять в Delphi 7 сегментом данных.Как разрешить компилятору использовать сегмент данных более 64К.

[+] Добавить в избранные вопросы

Отслеживать ответы на этот вопрос по RSS

Ответы:


Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице.
Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.

10-11-2018 05:24 | Сообщение от автора вопроса
Уточнение: косяк именно отладчика. Поскольку код генерируется верный.

10-11-2018 01:07 | Сообщение от автора вопроса
Вовсе нет. Код корректно работает, если нет объявления данного массива. Проверено.
IDE дает возможность объявить только массив на 16 элементов. ТОгда отладка идет нормально. Если довабляешь 17й элемент массива - прыжок в "левую" процедуру еще до показа основной формы.
Дальше добавить другие константы уже невозможно - аналогичный результат.
Если, как выяснилость, data seg у D7 2Гб, то закрадывается подозрение, что это косяк самого IDE.
Проверил этот код на Delphi 6 - аналогичный результат.

09-11-2018 08:24
Я провел эксперимент, и вынес массив констант в процедуру, где она обрабатывается и вуаля - все заработало.
Боюсь Вас огорчить, но дело - дрянь. В коде Вы где-то пишете совсем не туда, куда хотите. AV не получаете лишь только потому, что это тоже ваша память.

09-11-2018 05:48
Спасибо  Александр Малыгин.
Посмотрел, но к сожалению у меня компиляция идет без ошибок.
Я попадаю в середину "левой" процедуры во время отладки.
Я провел эксперимент, и вынес массив констант в процедуру, где она обрабатывается и вуаля - все заработало. Отладка идет как надо.
Более того. Даже в случае, если в IDE отладка не идет (массив констант в глобальном разделе),  код генерируется верный, и порграмма работает как надо.

09-11-2018 05:07
Возможно, здесь ваша проблема: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=612

09-11-2018 03:22
Спасибо за разъяснения. Но как мне тогда быть? Добавление текстовых констант вызывает крах программы. НИчего экстраординарного я не делаю в объявлениях.

08-11-2018 13:43
Не надо ничего разрешать. Размер "сегмента" данных в Delphi 7 - 2Гб и его размер никак не управляется. На 64-битном компиляторе (но вам это не грозит, у D7 нету 64-битной версии) размер "сегмента"... короче, неограничен.
Вы не там ищете ошибку.

Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
Раз дощечка, два дощечка будет лесенка. Раз словечко, два словечко, будет ЧТО?
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.
Тип сообщения:
Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве

    Страница избранных вопросов Круглого стола.
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования