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

Вниз

Как использовать ф-цию 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
4-44512
Dober_m@N
2003-02-14 20:51
2003.04.14
как поставить hooks для сочетания клавиш


14-44346
V-A-V
2003-03-31 07:26
2003.04.14
Дельфийное IDE


7-44480
mmmh
2003-02-17 22:17
2003.04.14
Как свернуть все окна. Помню Что надо посылать месагу minimaze то


7-44485
ssmaxx
2003-02-20 23:04
2003.04.14
Вопрос про память


6-44296
h@1f-e1f
2003-02-20 15:14
2003.04.14
как просмотреть HTML страницу с помощью Delphi