Главная страница
    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.52 MB
Время: 0.037 c
15-1193838867
pathfinder
2007-10-31 16:54
2007.12.02
Создание справки.


6-1173675345
paradox01
2007-03-12 07:55
2007.12.02
TServerSocket and TClientSocket


15-1193841830
@!!ex
2007-10-31 17:43
2007.12.02
Она сдала зачет!


2-1194357802
pasha_golub
2007-11-06 17:03
2007.12.02
Ошибка при вызове SHFileOperation после ForceDirectories


2-1194629978
IOrist
2007-11-09 20:39
2007.12.02
Как прогу убрать в фоновый режим





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский