| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Помогите, люди добрые, разобраться с TServerClient |
| Автор: X-Serge 6.10.2002, 21:20 |
| Вопрос такой: Есть объект type TFileServerThread = Class(TServerClientThread) public a : integer; Procedure ClientExecute; override; End; ..... Procedure TFileServerThread.ClientExecute; Begin ClientSocket.Close; End; У него есть переменная a : integer; Если в обработчике OnGetThread писать так Procedure TForm1.ServerSocketGetThread(Sender: TObject; ClientSocket: TServerClientWinSocket; Var SocketThread: TServerClientThread); Begin // Create a new thread for connection SocketThread := TFileServerThread.Create(False, ClientSocket); End; То не получается SocketThread.a:=1; А если сделать так Procedure TForm1.ServerSocketGetThread(Sender: TObject; ClientSocket: TServerClientWinSocket; Var SocketThread: TServerClientThread); Var SThread: TFileServerThread; Begin // Create a new thread for connection SThread := TFileServerThread.Create(False, ClientSocket); SThread.a:=1; End; То вылетает ошибка :-( Помогите чайнику решить этот вопрос!!! |
| Автор: Dayana 6.10.2002, 21:39 |
| Если тебе нужно, чтобы а становилось равно 1, когда создается thread, то присвой a := 1 в методе TFileServerThread.Create. |
| Автор: Fantasist 7.10.2002, 04:50 | ||||||
| Ecть несколько возможностей решения данного вопроса: 1. Самое простое:
2. Переопределить конструктор и запихнуть в него дополнительный параметр:
3. Вряд ли, это то, что ты хочешь, но можно и так:
В этом случае надо где-то самому сделать SThread.Free; |
| Автор: Alex 26.2.2005, 21:41 |
| Перенесено из раздела Дельфи |