-
> А я, когда по-русски разговариваю, тоже иногда казахские > слова использую. Постоянно путаюсь в этих русских словах. > Долбаный русский язык...
Я не говорил, что дельфи долбанное. Я говорил об идиотском подходе к определению внешних функций. Подробнее можете прочитать в [17]. Если есть что противопоставить - пожалуйста, я всегда рад конструктивному спору.
-
> @!!ex © (12.11.08 17:22) [17]
> Тем более, что часто API подразумевает иногда передачу nil. > .. и что мы тогда имеем? Либо часть функций с var, часть > с POinter. Либо(что еще хуже, но всеже имеет место быть) > - все с var, а там где надо передать nil - воротим извращения.
Наука изощряет ум; ученье вострит память [К.Прутков]
- Меня тошнит. - Это - нормально.
-- Regards, LVT.
-
> [18] Ping-Pong (12.11.08 17:24)
Кстати, я бы тоже вставлял казахские слова, если бы у меня был словарь только с казахскими словами, без русских. Документация с дельфи идет с примерами на С. И там не обозначено где const, где var, а где указатель.
-
> @!!ex © (12.11.08 19:18) [22]
> Документация с дельфи идет с примерами на С. И там не обозначено > где const, где var, а где указатель.
Find declaration спасет ОРД!
-- Regards, LVT.
-
> [23] Leonid Troyanovsky © (12.11.08 19:22)
не всегда с API идет pas файл. а в dcu FindDeclaration не работает. К тому же лазить по каждой фукнции из API(их используется в проекте порядка двух сотни из трех разных систем(WinAPI, OpenGL, OpenAL)) это не лучшая идея, тем более что есть хелп, почему я не могу верить хелпу?
-
> @!!ex © (12.11.08 19:28) [24]
> хелп, почему я не могу верить хелпу?
Верить хелпу в его сегодняшнем изложении - чрезмерный оптимизм. Там даже не обозначен год релиза мсдн, легший в его основу.
msdn.microsoft.com forever!
-- Regards, LVT.
-
> @!!ex © (12.11.08 19:28) [24]
> не всегда с API идет pas файл. а в dcu FindDeclaration не > работает.
А ты не пользуй такие dcu. И твои волосы станут шелковистыми.
-- Regards, LVT.
-
> [26] Leonid Troyanovsky © (12.11.08 19:38)
Да не станут все равно. Проблемы(с которыми столкнулся на практике): -Не соответствие параметров хелпу, всегда основываешься на мануалах, статьях, хелпу и прочих материалах от разработчиков. Соответственно сделаешь, а потом удивляешь, че оно не работает... Не работает, из-за того, что тот, кто переделывал хедеры решил поумничать. именно поэтому у меня OGL хаголовочные файлы собственного изготовления. Так надежнее и работает как мне надо. -Не соответствие параметров в дельфи и С++. Приходится вести несколько проектов, на разных языках. Очень напрягает, что в одном языке одна структура, в другом - другая. И кстати, ошибки допускаю только в дельфи, в С++ - никогда, хотя опыт работы в дельфи в разы больше. -Каверзы в духе - передай в качества var/const параметра nil. -Код не понятен человеку, работающему на других языках. Были ситуации, когда приходилось сдавать проекты человеку, который в дельфи не разбирается... Не думал, что возникнут пробелмы, потому что VCL Не использовал, все на API. проблемы возникли, т.к. заказчик удивлялся каждому несоответствию вызова функции тому, что про функцию написано в документации. Целый список составил, мне потом пришлось объяснять что такое const и var.
-
> @!!ex © (12.11.08 19:49) [27]
> решил поумничать. именно поэтому у меня OGL хаголовочные > файлы собственного изготовления. Так надежнее и работает > как мне надо.
Логичный вывод.
> человеку, который в дельфи не разбирается... Не думал, что > возникнут пробелмы, потому что VCL Не использовал, все на > API. проблемы возникли, т.к. заказчик удивлялся каждому > несоответствию вызова функции тому, что про функцию написано > в документации. Целый список составил, мне потом пришлось > объяснять что такое const и var.
Современному ЯВУ считается стыдным пользоваться указателями. Мол, так будет проще для чайников, которые оные понятия не в силах постичь, и, сл-но, они будут осуществлять меньше разрушительных деяний.
Возможно, что это именно так.
Тебе просто не повезло - дельфи, как и си, остаются в плену разрушительных парадигм, а ты будешь между молотом и наковальней. Бо, основной грех указателя - в интерпретации указуемого, и никакие строгости приведения здесь не спасут.
Поэтому, см. выше.
-- Regards, LVT.
-
> @!!ex (12.11.2008 19:49:27) [27]
А как ты прикажешь быть, когда многие функции в АПИ являются по несколькими разными функциями.
В одних случаях результат интерпритируется как BOOL В других случаях результат интерпритируется как Integer В других случаях результат интерпритируется как Cardinal
И это про одну и туже функцию. Причина Си почти не типизированый язык, качество разработчиков сильно различается, очень много таких вот хитрунов.
|