Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.052 c
15-1193602822
ProgRAMmer Dimonych
2007-10-28 23:20
2007.12.02
1C признан вредоносным программным продуктом???


15-1193684400
Evanescence
2007-10-29 22:00
2007.12.02
Redhat 9 на VirtualPC


15-1193738004
infom
2007-10-30 12:53
2007.12.02
bat файл компиляции проекта


15-1193636264
boriskb
2007-10-29 08:37
2007.12.02
Сниму 2-х комнатную в Москве.


4-1179822306
cosinus
2007-05-22 12:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский