16.07.2018, 23:16 [+3 UTC]
в нашей команде: 2 882 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
16.07.2018, 10:05

Последний вопрос:
16.07.2018, 07:17

Последний ответ:
13.07.2018, 17:32

Последняя рассылка:
15.07.2018, 19:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
25.12.2010, 22:40 »
Дмитрий Олегович
Отличный ответ, четкий и оперативный. Огромное спасибо! [вопрос № 181606, ответ № 265074]
17.12.2010, 15:37 »
pretender8901
Вот и у меня было несколько мнений которые тут и подтверждаются. За Ваше мнение огромное спасибо [вопрос № 181403, ответ № 264847]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 311
mklokov
Статус: 6-й класс
Рейтинг: 23
Орловский Дмитрий
Статус: Мастер-Эксперт
Рейтинг: 3

Перейти к консультации №:
 

Консультация онлайн # 64526
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Андрющенко Вячеслав Васильевич
Отправлена: 28.11.2006, 02:25
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Помогите, пожалуйста разораться с кодом(в прил.). Объясните, пожалуйста, что делает строчка OverWrite.hEvent := CreateEvent(nil, True, False, nil);? И для чего
в if (not WriteFile(hPort, WriteBytes, SizeOf(WriteBytes),
dwWrite, @OverWrite)) знак "@" перед OverWrite? И что за тип TOverlapped? Заранее очень благодарен!

Приложение:

Состояние: Консультация закрыта

Ответ # 128850 от Вадим Исаев ака sir Henry (Старший модератор)

Здравствуйте, Андрющенко Вячеслав Васильевич!
1. Судя по тому, что пишет нам хелп, функция CreateEvent() создает объект-событие.
Параметры:
lpEventAttributes: PSecurityAttributes - это указатель на специальную структуру, которая определяет права доступа. Если вместо нее указать NIL, то "заходи кто хочешь, бери что хочешь". :)
bManualReset - определяет нужна ли вручную проводить реинициализацию объекта. Если задать True, то нужно вызывать дополнительную функцию с помощью ResetEvent(Handle_объекта), если False, то Windows сама химичит.
bInitialState - если честно не понял что это такое. True - выдает при инициализации сигнал, False - не выдает.
lpName - ну это понятно - задание имени объекта. Если поставить NIL, то объект будет безымянный.
2. @ - означает, что в функцию в качестве параметра передается не значение переменной, а адрес в памяти, где она находится, аналогичен Паскалевскому var. Увеличивает скорость выполнения функции, т.к. не создается второй экземпляр переменной для работы в функции.
3. TOverlapped - это специальная структура в которой задается информация для правильной работы асинхронного ввода-вывода. В том числе и тот самый объект-событие, который выдает (или не выдает) тот самый таинственный сигнал, прежде чем заработает функция WriteFile(), т.к. WriteFile() тоже функция ввода вывода и может работать как в синхронном, так и в асинхронном режиме.


Консультировал: Вадим Исаев ака sir Henry (Старший модератор)
Дата отправки: 28.11.2006, 04:45

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16373 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018