Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.017 c
15-1193771493
ProgRAMmer Dimonych
2007-10-30 22:11
2007.12.02
Подкиньте, плз, идейку


2-1194412928
DevilDevil
2007-11-07 08:22
2007.12.02
Как правильно блокировать/разблокировать поток?


15-1194010490
oldman
2007-11-02 16:34
2007.12.02
Где бы прикупить акций Гугля?


1-1189455742
Герой
2007-09-11 00:22
2007.12.02
Как нажать на запрещеную кнопку


15-1194117044
vasIZmax
2007-11-03 22:10
2007.12.02
Диплом не за горами (посоветуйте и только)




   Наверх