OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 16 Август, 2018 13:03

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Воскресенье, 29 Октябрь, 2017 11:22 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7834
Откуда: Троицк, Москва
Иван Денисов писал(а):
Александр К писал(а):
Иван Денисов писал(а):
Не связывайтесь с MSDN сейчас.

Почему?

Вся прелесть работы с фреймворком в том, что вы абстрагируетесь от API операционной системы, которая устроена весьма несовершенным образом. Везде, где вы можете не использовать WInApi, я бы порекомендовал его не использовать. Есть задачи, где без этого не обойтись, но смысла новичку копаться в MSDN не вижу.

Опыт сорока лет однозначно подтверждает: изо всех сил минимизируйте привязки к внешним средам.

Уж на что ББ стабилен и надёжен в этом отношении, но и тут -- последние выкрутасы Центра с модификацией ядра вызывают опасения.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 29 Октябрь, 2017 12:06 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1086
Иван Денисов писал(а):
но смысла новичку копаться в MSDN не вижу.

В данном случае новичок и не стал копаться, Написал сигнатуру наугад. А оно не совпало.

Код:
PROCEDURE QueryPerformanceCounter* (VAR [nil] lpPerformanceCount: LONGINT): BOOL;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Октябрь, 2017 15:48 

Зарегистрирован: Воскресенье, 06 Август, 2017 19:33
Сообщения: 46
Trurl писал(а):
Код:
PROCEDURE QueryPerformanceCounter* (VAR [nil] lpPerformanceCount: LONGINT): BOOLEAN;

Подскажите, зачем [nil] нужно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Октябрь, 2017 16:29 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1328
Александр К писал(а):
Trurl писал(а):
Код:
PROCEDURE QueryPerformanceCounter* (VAR [nil] lpPerformanceCount: LONGINT): BOOLEAN;

Подскажите, зачем [nil] нужно?

Windows написана (как нам говорят) на C.
QueryPerformanceCounter принимает указатель.
Указатель может быть равен NULL.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Октябрь, 2017 17:01 

Зарегистрирован: Воскресенье, 06 Август, 2017 19:33
Сообщения: 46
А если в этой функции VAR заменить на OUT, что-нибудь изменится?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Октябрь, 2017 19:01 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1086
Вообще, [nil] здесь не нужно. Но WinApi сгенерирован автоматически, там много такого.
Заменить VAR на OUT можно. По сути ничего не изменится, но будет понятнее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Октябрь, 2017 19:53 

Зарегистрирован: Воскресенье, 06 Август, 2017 19:33
Сообщения: 46
Всем спасибо большое за ответы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 31 Октябрь, 2017 19:21 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1328
Александр К писал(а):
А если в этой функции VAR заменить на OUT, что-нибудь изменится?

Методически, если, по смыслу, аргумент "работает на возврат чего-то из функции", НУЖНО.
Бережёного - Бог бережёт.
Ну, и - документирование. Не зря же даже в таком угробище, как Си, программеры (кто по-умней) сами в комментах возле аргументов функций ставят "направление", в котором "работает" аргумент.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB