Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

POverlapped   Найти похожие ветки 

 
F@T@L_Err0r   (2007-11-07 15:39) [0]

Здравсвуйте.У меня такой вопрос:Пытаюсь записать информацию в сом порт, но при

   pi:POverlapped;
begin
pi.hEvent := CreateEvent(nil, True, False, nil);
....

вылазит ошибка access voltation???


 
Сергей М. ©   (2007-11-07 15:42) [1]

Память под pi выделять за тебя кто будет, Пушкин ?


 
Сергей М. ©   (2007-11-07 15:42) [2]

точнее не под pi, а под pi^


 
F@T@L_Err0r   (2007-11-07 15:44) [3]

а как???пример если можно.


 
Palladin ©   (2007-11-07 15:45) [4]

new(pi)


 
Palladin ©   (2007-11-07 15:46) [5]

ты б почитал уже чего нибудь чтоли...


 
F@T@L_Err0r   (2007-11-07 15:49) [6]

спасиба.а еще такой вопрос в прцедуре

var Buf:array[0..5] of byte;
   s:cardinal;
begin
ReadFile(hPort,Buf,SizeOf(Buf),s,nil);
......
программа останавливается и бесконечно долго думает...точнее подвисает.
settimouts все равно 0.


 
Сергей М. ©   (2007-11-07 15:53) [7]

Чукча точно не читатель)

Какого же лешего ты передаешь последним параметром nil, если в вопросе ты озаботился именно overlapped-режимом ?


 
F@T@L_Err0r   (2007-11-07 15:55) [8]

ну ето старый код...не успел обновить...но проблема ведь не в етом?


 
Сергей М. ©   (2007-11-07 15:57) [9]


> проблема ведь не в етом?
>


А в чем же, по-твоему ? В магнитных бурях на Луне ?)


 
F@T@L_Err0r   (2007-11-07 16:00) [10]

ну поставил я pi вместо nil.теперь вообще перестали считывать данные из порта.


 
Reindeer Moss Eater ©   (2007-11-07 16:01) [11]

так У тебя снова старый код и ты снова его не успел поправить


 
Palladin ©   (2007-11-07 16:01) [12]

ну значит не читает он оттуда ничего


 
F@T@L_Err0r   (2007-11-07 16:03) [13]

Вот код:

var Buf:array[0..5] of byte;
   pi:POverlapped;
   s:cardinal;
begin
new(pi);
pi.hEvent := CreateEvent(nil, True, False, nil);
ReadFile(hPort,Buf,SizeOf(Buf),s,pi);
........


 
Reindeer Moss Eater ©   (2007-11-07 16:03) [14]

И где анализ результата ReadFile и где проверка GetLastError если у тебя оверлаппед чтение?


 
Сергей М. ©   (2007-11-07 16:03) [15]


> теперь вообще перестали считывать данные из порта


Ты справку проштудировал по overlapped-режиму ввода-вывода ?


 
Anatoly Podgoretsky ©   (2007-11-07 16:10) [16]

> F@T@L_Err0r  (07.11.2007 15:55:08)  [8]

А зачем нам обсуждать посторонний код?


 
F@T@L_Err0r   (2007-11-07 16:10) [17]

прверка overlapped:

if pi.hEvent = Null then showmessage("Null") else showmessage(good);
проверка ReadFile:

if ReadFile(hPort,Buf,SizeOf(Buf),s,pi) then showmessage("Good") else showmessage("Null");

и справку я смотрел все сделал как там написано...


 
Anatoly Podgoretsky ©   (2007-11-07 16:10) [18]

> F@T@L_Err0r  (07.11.2007 16:03:13)  [13]

Поставь точку останова на многоточии.


 
Anatoly Podgoretsky ©   (2007-11-07 16:11) [19]

> F@T@L_Err0r  (07.11.2007 15:49:06)  [6]

Она не повисает, а ждет SizeOf(Buf) байт


 
Reindeer Moss Eater ©   (2007-11-07 16:12) [20]

и справку я смотрел все сделал как там написано...
if ReadFile(hPort,Buf,SizeOf(Buf),s,pi) then showmessage("Good")

В случае с оверлаппед все как раз наеборот.
Успешный вызов REadFile обязан вернуть False.


 
Сергей М. ©   (2007-11-07 16:15) [21]


> справку я смотрел все сделал как там написано


Нифига ты ее не читал.
Или читал, но сделал наоборот.


 
F@T@L_Err0r   (2007-11-07 16:23) [22]

блин ну ладна буду искать сам где ошибка...


 
Сергей М. ©   (2007-11-07 16:29) [23]

Нефига ее искать.
В справке даже пример работы в этом режиме имеется.


 
Германн ©   (2007-11-07 19:18) [24]


> POverlapped [D7, XP]
>
> F@T@L_Err0r   (07.11.07 15:39)

http://delphimaster.net/view/2-1193902088/


> F@T@L_Err0r   (07.11.07 16:23) [22]
>
> блин ну ладна буду искать сам где ошибка...
>

Да чего её искать, эту ошибку. И так ясно в чём она :-)



Страницы: 1 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.026 c
3-1184763707
tiktak
2007-07-18 17:01
2007.12.02
Преимущества создания баз данных при помощи MS Access и Delphi


15-1193135552
Fregl
2007-10-23 14:32
2007.12.02
Отображение графиков в реальном времени


4-1179242016
Calibr
2007-05-15 19:13
2007.12.02
Реестр


15-1193162399
Студент
2007-10-23 21:59
2007.12.02
Найти величины углов


2-1194685836
Виктор007
2007-11-10 12:10
2007.12.02
Настройки программы