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

Вниз

Как использовать ф-цию bind?   Найти похожие ветки 

 
ррра45   (2003-02-18 19:31) [0]

А именно что такое PSockAddr:
function bind(const s: TSocket; const addr: PSockAddr; const namelen: Integer)
Получается поставить туда @v1 (v1: TSockAddr;)
Но возникает ошибка 10014. Сокет до этого нормально создается.


 
ррра45   (2003-02-19 11:39) [1]

Ну помогите!!!


 
Digitman   (2003-02-19 11:45) [2]

приведи полный код


 
ррра45   (2003-02-19 14:56) [3]

с другим модулем winsock всё получилось


 
Alex Konshin   (2003-02-19 20:15) [4]

А с каким не получалось-то? С моим что-ли?
Что не получается? Приведи код-то.


 
Digitman   (2003-02-20 08:45) [5]

1.декларация в Winsock.pas :

function bind(s: TSocket; var addr: TSockAddr; namelen: Integer): Integer; stdcall;

2.декларация в Winsock2.pas :

function bind( const s: TSocket; const addr: PSockAddr; const namelen: Integer ): Integer; stdcall;

как видно из текста, объявление 2-го параметра несколько отличается (что, впрочем, непринципиально), но вариант с @v1 (v1: TSockAddr;) будет корректен лишь для декларации 2

для декларации 1 "баран" перед идент-ром V не нужен


 
Alex Konshin   (2003-02-20 09:12) [6]

Я знаю об этой разнице, но это же не повод чему-то не работать!
Понятно, что человек где-то запутался с указателями, но признаваться не хочет.

Я даже могу объяснить, почему я сделал именно так: просто помимо PSockAddr там вполне может быть PSockAddrNB, PSockAddrIPX и т.п.. Все-таки приведение одного типа указателя к другому более прозрачно, чем фиктивные разыменования в случае, если бы там был var.


 
Digitman   (2003-02-20 10:56) [7]

да кто ж спорит ?) разумеется, WSAEFAULT=10014 возникает из-за несоответствия зн-я фактического параметра namelen требуемому размеру структуры SizeOf(TSockAddrIn) = SizeOf(TSockAddr), факт.адрес которой передается



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

Форум: "Сети";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-44120
yurikon03
2003-04-03 09:20
2003.04.14
Как переопределить событие?


14-44395
TrollXP
2003-03-28 13:42
2003.04.14
Анимация свертывания/развертывания


1-44234
maxi
2003-04-02 09:45
2003.04.14
Глючит MultiSelect в TListBox. Как исправить ????


1-44128
Delphi-Beginner
2003-04-03 11:33
2003.04.14
вопрос из области использования QReport


3-43994
eugie
2003-03-21 08:55
2003.04.14
Прокрутка в DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский