![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте, делаю в Delphi 7 чат (пока сервер) на ServerSocket1 в блокирующем режиме. Делаю не с нуля, а собирая по частям из различных программ(так как сам не разбираюсь).
Необходимо по нажатию кнопки, сделать рассылку сообщения из мемо всем клиентам. Основа сервера из этой статьи. Попытался сделать: Основа сервера Код:
type TData = record fCommand: Word; fNick: String[MAX_STRING]; fColor: Integer; fMessages: array [0..MAX_CHAR - 1] of Char; end; PData = ^TData; ............................ implementation uses uServerThread; {$R *.dfm} type n=class (uServerThread.TServerThread); .................................... procedure TfMain.Button3Click(Sender: TObject); var adata:tData; i:Integer; begin with adata do begin fCommand:=10010; fNick:='Àäìèíèñòðàòîð'; fColor:=4; for i := 0 to Length(memo2.text) - 1 do fMessages[i]:=Char(memo2.text[i + 1]); n.SendAllClient(adata); end; end; Код:
procedure TServerThread.SendAllClient(var aData: tData); var i: Word; begin try for i := 0 to ServerSocket.ActiveThreads - 1 do begin ServerSocket.Connections[i].SendBuf(aData, SizeOf(aData)); end; except end; end; При компиляции происходит ошибка: [Error] fmMain.pas(328): This form of method call only allowed for class methods Есть другой способ переноса данных в поток? (При необходимости могу выложить весь проект) |