|
|||
Скачать DPMI in BP 7.0
24.12.1996 Используйте TDX. Вообще, зачастую и REAL программы имеет смысл отлаживиать не в среде, а в TD286 (TD386 я не использовал, поскольку у меня стоял QEMM в Stealth режиме), поскольку для серьезной отладки такие feature как просмотр регистров сопроцессора и вызов процедур из окошка Evaluate, равно как и просмотр ассемблерного кода, в который скомпилилась программа, весьма полезны. TDX заодно и DLL позволяет отлаживать, если они в программе используются. > 2)Как использовать динамическую память >64k,т.е. >GlobalAllocate я сделал а вот как к ней обpащаться по индексу!? :(((( Видимо так: Function HugeIndex(Base:Pointer;Index:longint):Pointer; {Получает: указатель на блок >64K и смещение в байтах. Возвращает: указатель на нужный байт в блоке} Type TT:record Offset:Word High:Word; end; var L:Longint; PT:TT absolute Base; IT:TT absolute L; begin L:=Index+PT.Offset; HugeIndex:=Ptr(PT.High+IT.High*SelectorInc,L.Offset); end; Примечания:
>Ответь мне о всезнающий All!Очень пpошу! >PS Мож кто что почитать посоветует Что же касается литературы, то, поскольку уже полгода я серьезно на Pascal не пишу, то она вся куда-то разбежалась и корректных ссылок привести не могу. А выходила очень хорошая книжка, посвящаенная как раз работе в DPMI. Хотя, впрочем родная документация содержит вполне достаточно информации. Очень рекомендую внимательно проработать Language Guide. Для серьезной работы в Protected очень полезен пакет Borland Open Access Pack,
или, хотя бы модуль DPMI оттуда. Пример работы с большими кусками памяти есть в модуле Huge Collection, который валяется много по каким ftp и mail серверам. На garbo.uwasa.fi он есть точно. Еще полезно почитать собственно RTL - исходные тексты модулей DOS и System, а также Turbo Professional 5.20 и выше, которая поддерживает DPMI. Впрочем Professional годится не только для чтения, но и для использования. | |||
© 2009–2024 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |