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

Вниз

Сохранение указателя на TIdContext в Indy10   Найти похожие ветки 

 
vers ©   (2005-07-23 02:37) [0]

Вот код:

procedure ConnectProc(AContext:TIdContext);
var
 context:TIdContext;
 context2:TIdContext;
begin
Label1.Caption:=IntToStr(LongInt(@AContext));
socket:=TIdContext(@AContext);
Label2.Caption:=IntToStr(LongInt(@socket));
socket:=AContext;
Label3.Caption:=IntToStr(LongInt(@socket));
socket2:=socket;
Label4.Caption:=IntToStr(LongInt(@socket2));
end;

В результате: содержимое второго и третьего Label"ов одинаковые, остальные - разные. Получается, при каждом присваивании переменной типа TIdContext, присваивается не она, а какая-то чушь? Или я чего-то не понимаю (что вероятнее всего)?
Этот вопрос возник при перенесении кода из Indy9 в Indy10. Программа сохраняет указатели на все пользовательские соединения к IdTCPServer"у. Раньше это было TIdTCPConnection, теперь TIdContext. Но в случае с TIdTCPConnection указатели не менялись при присваивании.


 
vers ©   (2005-07-23 02:41) [1]

Прошу прощения, не TIdTCPConnection, а TIdPeerThread в Indy9.


 
vers ©   (2005-07-23 13:17) [2]

Вопрос снимается: сам глупый :)
AContext.Connection.Socket.Write("1");
и

context:=AContext;
context.Connection.Socket.Write("1");

работают идентично.
PS: В исходнике наверху я немного ошибся с названиями переменных.



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

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1129380582
Vital
2005-10-15 16:49
2005.11.06
HTML


1-1129609852
7#Z$Ad!*7
2005-10-18 08:30
2005.11.06
Не работает TopItem в компоненте TTreeView


3-1127467916
vigo
2005-09-23 13:31
2005.11.06
Ошибка инициализации Borland DataBase Engine


8-1118403597
Dwarfer
2005-06-10 15:39
2005.11.06
NCTVideoStudio ActiveX DLLs


14-1129543079
fool_student
2005-10-17 13:57
2005.11.06
IMP software