Вниз
Скачать: CL | DM;

Передача объектов и их свойств из функций   Найти похожие ветки 

 
Yuri Btr ©   (2003-10-28 13:03) [0]

Ув. мастера, у меня есть такая примерно структура

type
PClient=^TClient;
TClient = record
ClientSocket:TClientSocket;
RequestBuffer:string;
AnswerBuffer:string;
Terminated:boolean;
end;

Подскажите, если у меня некоторая функция возвращает вот так объект (или копию его ???)
FindClient(OutGoingSocketHandle:Integer):TCustomWinSocket;
...
Result:=SS1.Socket.Connections[i];
....
И в добавок у возвращаемого TCustomWinSocket есть свойство Data, которое указывает на ранее заполненный экземпляр вышеописанной структуры
TempServerSocketConnection.Data:=Client;
скажите, корректно ли после вызова FindClient поменять ему св-во во так
...
var
Client:PClient;
Sock:TCustomWinSocket;
...
Sock:=FindClient(Socket.SocketHandle);
if Sock=nil
then
Exit;
Client:=Sock.Data;
Client^.Terminated:=true;


 
Yuri Btr ©   (2003-10-28 13:06) [1]

Да, забыл - заранее спасибо :)


 
Digitman ©   (2003-10-28 13:14) [2]


> поменять ему св-во


кому "ему" ?
что-то в коде вообще нигде не фигурирует установка какого-то св-ва какого-то объекта


 
Yuri Btr ©   (2003-10-28 13:18) [3]

to Digitman

Client^.Terminated:=true;

в данном случае меня интересует установка свойства Terminated
у экземпляра Client, взятого по указателю из Sock.Data, возвращённого из функции FindClient


 
Zacho ©   (2003-10-28 13:24) [4]

Так Client у тебя не объект, а запись. А изменения каких-либо св-в каких-либо объектов в твоем коде действительно нет.
А вообще - все довольно корректно.


 
Yuri Btr ©   (2003-10-28 13:30) [5]

Спасибо,
конечно Сlient это запись, и свойства у него быть не может, просто я поторопился, мне проще представить для себя эту запись как объект

(ERROR 0: "ОШИБКА В ТЕРМИНЕ")



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
7-42193
alexsandri
2003-08-22 21:11
2003.11.13
Беда такая : Есть Большая куча Mp3 dв одной папке необходимо расс


1-41589
VaZa
2003-10-24 23:24
2003.11.13
Список установленых программ


3-40834
Vick
2003-10-21 16:29
2003.11.13
Программа периодически выполняет недопустимые операции


1-41275
han-bratan
2003-10-31 15:09
2003.11.13
Отображение формы


3-41058
AbrosimovA
2003-10-24 10:18
2003.11.13
Возникает ошибка при упаковке таблицы DBase




   Наверх