![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Win API
Вась-Вась © (2004-11-29 10:42:00)Товарищи! Вот вы часто советуете использовать Win Api в своих игрушках, а что это такое и чем оно полезно. Если можно, приведите конкретный пример.
Вась-Вась (2004-12-03 18:41:00) [21]> Создал свой KOL :)
А что такое этот самый KOL? Может, я вас уже замучал, но, как говорил один очень умный человек - мой преподаватель по мат.ану. - если ты хочешь до конца понять тот или иной вопрос, то объясни его своему другу... Это мне, значит :-D
Поручик (2004-12-02 01:30:00) [22]Kind (01.12.04 21:15) [12]
Создал свой KOL :)
У меня, вот, тоже есть свой VCL, только писал я его под С++
Kind (2004-12-01 21:15:00) [23]То же недавно начал изучать API, до этого только VCL и компоненты всякие использовал. С созданием окна разобрался (спасибо этому форуму!) а потом WIN32.HLP и вперёд, ничего сложного вовсе нет! Вначале думал: как же я напишу это на API??? А потом немного подумал, и получил аналог VCL, причём обошёлся меньшим количеством строк кода, получил меньше размер ехе и в чём то большее быстродействие!
cyborg (2004-12-01 11:23:00) [24]В принципе для игры важно только создание окна приложения, а как его сделать, с помощью VCLа или WinAPI разницы никакой не имеет, разве только размер программы увеличивается из за лишних действий VCL, которые в игре никчему. К тому же достаточно один раз написать модуль по созданию окна и его спользовать в своих проектах.
MeF88 (2004-12-01 11:19:00) [25]
> Теперь зато могу писать программы, которые на 250 меньше,
> чем на VCL
Впрочем VCL не особо мешает игре. Главное в геймдеве, чтобы руки были прямые. Если руки прямые, то можно и на Delphi, на VCL написать крутую игруху. Если руки кривые, то даже на С++ и WinAPI ничего путного не сделаешь.
OSokin (2004-11-30 19:26:00) [26]Я несколько статей прочитал, немного освоил, потом стал встроенную справку читать...
Теперь зато могу писать программы, которые на 250 меньше, чем на VCL
Omar2002 (2004-11-30 09:55:00) [27]Я когда первый раз с апи ничал работать, то вобще ниче не понимал.
Так что я думаю ваши советы ему ничего не дали в плане программирования на АПИ.
Если в кратце - то АПИ - это набор виндовозных функций, с которыми ты и работаешь.
Представь, что ты программируешь на паскале, а тебе нужны всякие окошки с кнопками - Что ты будешь делать? Наверняка напишешь свою библиотечку для вывода этих самых окон и для обработки событий связанных с ними, как раз тогда-то у тебя и получится своя АПИ библиотека.
Вся винда работает как набор функций, которые вызываются при определенных сообщениях.
Собсно все остальное - работа с этими самыми функциями и там уже те придутся самому копаться в примерах и исходниках, чтобы во всем досконально разобраться.
Не бейте за терминалогию, может че и наврал :) но в общем я примерно так себе представляю АПИ.
Mona Sax (2004-11-30 04:23:00) [28]Если вдруг тебе понадобится перейти на С++, и ты будешь знать API, то переход этот пройдет безболезненно.
Sphinx (2004-11-29 13:23:00) [29]> Skyle © (29.11.04 12:08) [4]
Может и некорректно...но говорю же...это хобби...и изучаю всё самостоятельно по книгам...поэтому не спорю когда ошибаюсь в терминологии или еще в чем-то :)
Sapersky (2004-11-29 12:20:00) [30]Ещё к достоинствам WinAPI:
1) API'шные проекты лучше переносятся между разными версиями Delphi.
2) Если изучаешь DirectX, то ознакомиться с WinAPI весьма полезно, чтобы привыкнуть к MS'овскому стилю (хотя стоит ли к нему привыкать - ещё вопрос :)).
P.S. Не считать призывом использовать только API.
Я бы тоже не стал призывать. VCL или API - это не главное, если уметь, можно хорошо написать и на том, и на другом. А если кто-то будет говорить, что игры и VCL - две вещи несовместные, пусть посмотрит работу Imp'а с последнего конкурса (тут рядом ветка, или code.rpro.ru).
Во-вторых не знаю почему, но при сочетании VCL + DX (Jedy) у меня постоянно появлялись ошибки, причем не в моем коде.
Красновские примеры - может быть, они известны своей глючностью, у меня лично никаких проблем нет.
Даже если ошибка не в твоём коде (AV in D3D8.dll, например?), она легко может быть вызвана твоим кодом :)
Skyle (2004-11-29 12:08:00) [31]> [3] Sphinx (29.11.04 12:05)
Это чистый API. Как по задаче, так и по реализации.
Это ещё раз доказывает, что сравнивать эти вещи как минимум некорректно.
Sphinx (2004-11-29 12:05:00) [32]> Хм.. Можно пояснить, о чём именно речь?
можно обратиться и работать с программой, которую написали не Вы и не имеете её исходных текстов.
Сталкивался с необходимостью заполнять текстовое поле и нажимать программно на кнопку в чужой программе.
Skyle (2004-11-29 11:27:00) [33]
> , но возможностей у АПИ гораздо больше....
А я бы вообще не стал сравнивать. Это неверно.
Дело в том, что Win32API (или там какие-то другие API), это прямой способ общения, VCL - обёртка над API следовательно ещё один уровень.
Из основных в данном разговоре неприятностей от обёртки отметил бы то, что её нужно таскать с собой и, в принципе, само по себе использование кода, ориентированного (дополнительно, плюс к ориентации самого API) на использования в разнообразных случаях.
Можно решать какие-то конкретные прикладные задачи используя VCL, можно не использовать. Половинные решения, имхо, неэффективны.
P.S. Не считать призывом использовать только API.
> ну и то что через него можно взаимодействовать с другими
> программами не плюс разве?
Хм.. Можно пояснить, о чём именно речь?
Sphinx (2004-11-29 10:55:00) [34]Во-первых уменьшаются размеры исполняемого файла,
Во-вторых не знаю почему, но при сочетании VCL + DX (Jedy) у меня постоянно появлялись ошибки, причем не в моем коде.
Ну и это лично моё мнение, WinAPI даёт гораздо бОльший простор действий чем VCL. С АПИ только начинаю разбираться, т.к. Делфи это только хобби и занимаюсь в своболное время, но возможностей у АПИ гораздо больше....ну и то что через него можно взаимодействовать с другими программами не плюс разве? :)