20.08.2017, 20:19 [+3 UTC]
в нашей команде: 2 094 чел. | участники онлайн: 6 (рекорд: 21)

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

:: консультации

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

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

:: правила

:: новости

:: участники

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

:: форум

:: блоги

:: поиск

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

:: наш журнал

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

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

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

:: поддержка

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

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
20.08.2017, 16:51

Последний вопрос:
18.08.2017, 23:30

Последний ответ:
17.08.2017, 18:54

Последняя рассылка:
20.08.2017, 18:45

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

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

Наша кнопка:

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

Отзывы о нас:
27.04.2010, 00:19 »
Ankden
Вот это ответ! Спасибо большое!!!! [вопрос № 177979, ответ № 261055]
06.03.2010, 00:29 »
Даниил Цветков
Содержательный и полный ответ. Спасибо большое [вопрос № 177048, ответ № 259911]
22.01.2010, 23:08 »
Пичкaлёв Сeргeй Ивaнович
большоe спaсибо!!*успeхов Вaм!! [вопрос № 176190, ответ № 258837]

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

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

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

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

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 312
mklokov
Статус: 6-й класс
Рейтинг: 87
Вадим Исаев ака sir Henry
Статус: Старший модератор
Рейтинг: 44

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

Консультация онлайн # 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.13780 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн