Текущий архив: 2003.11.13;
Скачать: 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 вся ветка
Текущий архив: 2003.11.13;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.056 c