Вниз
Скачать: CL | DM;

Несколько злых вопросов, касающихся Delphi...   Найти похожие ветки 

 
Cyrax ©   (2006-11-09 10:55) [0]

1. Выбрасывают ли исключения функции SetCommMask, GetCommState и т.п. в случае ошибок или они отлавливаются внутри...
2. Зачем нужно было вводить столько типов: PDCB, TDCB, DCB, _DCB (то же и с другими типами, в частности, TCommTimeouts). Достаточно было бы PDCB и TDCB...
3. SetCommMask or-ит указанные флаги или полностью заменяет...
4. Как закрыть порт после попытки (естественно, безуспешной) повторного его открытия, т.к. после этого закрытие становится безуспешным. Сбросить порт и почистить буфера ?
5. Access violation at address 0052D8EE in module "coreide70.bpl". Read of address 00000091. Устранение без перзагрузки IDE...
6. В настройках проекта снимаю галочку optimization. Оптимизация всё-равно наблюдается, в частности: variable ... inaccessible here due to optimization...
7. Как работает оптимизация: часто наблюдаю в режиме отладки работу for"а в обратном порядке. Т.е., например, не от 0 до 99, а от 99 до 0. Прога, естественно, работает некорректно. Какая же тогда это оптимизация...


 
RWolf ©   (2006-11-09 10:57) [1]

WinAPI исключений не выбрасывает в принципе.


 
RWolf ©   (2006-11-09 11:03) [2]

2. Совместимость.
3. Заменяет. С чего бы or-ить?
4. Прекрасно закрывается, и переоткрывается тоже.
5. Предлагаю не обращать внимания и перезапускать Delphi.
7. Предлагаю заглянуть в окно CPU.


 
Cyrax ©   (2006-11-09 11:04) [3]

RWolf ©   (09.11.06 11:03) [2]

Хотел написать: "Вкратце и без мата" к [0], но похоже у тебя вышло лучше...


 
Percent   (2006-11-09 11:06) [4]

1. Это функции API. Исключения Delphi - не выбрасывают. См. GetLastError.
2. По причине разных принципов именования. TDCB и PDCB именованы в стиле Delphi. DCB, _DCB - в стиле Windows API; реализованы для совместимости, то есть, в справке они так именуются.
3. Читай справку.
4. Читай справку.
5. Твоя ошибка.
6. Это уже даже не оптимизация. Это просто выкидывание откровенного мусора, который ты выкинуть не удосужился.
7. Так надо. Прога работает корректно, в случае если ты пишешь ее корректно. Оптимизатор в Delphi - очень хороший, у меня с ним никогда проблем не было. (Может, потому что я умею "договориться"?)...


 
ЮЮ ©   (2006-11-09 11:08) [5]

6. Там ещё крыжик поставить можно/нужно в "вычислять функции"
7.
> Прога, естественно, работает некорректно

Это тольго кажется, что 99 до 0. Если работает некорректно, то так же некорректно будет работать, если заменишь на while


 
Cyrax ©   (2006-11-09 11:09) [6]

2. Совместимость
Чего с чем ?
3. Заменяет. С чего бы or-ить?

Пока без комментов (пока..)
4. Прекрасно закрывается, и переоткрывается тоже.

Хорошо, ещё раз проверим...
5. Предлагаю не обращать внимания и перезапускать Delphi.

Нее, так дело не пойдёт...
7. Предлагаю заглянуть в окно CPU.

Опять ?  Ни за что...)))
Ну, увижу я там цикл от 99 до 0 - и что ?
Меня интересует, почему оптимизатор так тупо работает...


 
Anatoly Podgoretsky ©   (2006-11-09 11:15) [7]

Нескольких вопросов не хватает

8. почему столько вопросов в одной теме
9. почему эти вопросы в несоответсвующей конференции, у нас есть две специализированые - для Начинающих и Прочее



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
15-1164804703
Studentik_is_pitera
2006-11-29 15:51
2006.12.24
4to delat


4-1155648872
apic
2006-08-15 17:34
2006.12.24
Антивирус


2-1165586940
azl
2006-12-08 17:09
2006.12.24
TreeView


2-1165299323
Клара
2006-12-05 09:15
2006.12.24
DBChart


15-1165228514
RomanH
2006-12-04 13:35
2006.12.24
Авторегрессия




   Наверх