0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 11
1

Indy WebSocket правильно описать процедуру OnDataEvent

18.02.2022, 05:45. Показов 721. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день уважаемые форумчане!

Прошу помощи, не хватает знаний и умений.

https://github.com/arvanus/Ind... Client.pas

нашел готового клиента websocket, пытаюсь прикрутить к своей программе, но компилятор выдает ошибку:

[dcc32 Error] Unit1.pas(319): E2003 Undeclared identifier: 'lSWC1DataEvent'

Delphi
1
2
  lSWC := TIdSimpleWebSocketClient.Create(self);
  lSWC.onDataEvent           := self.lSWC1DataEvent;  //TSWSCDataEvent
понимаю, что необходимо описать процедуру обработчик, но как это сделать правильно не знаю.
пытаюсь сделать, что то вот такое, но тоже не работает.

Delphi
1
2
3
procedure lSWC1DataEvent(Sender: TObject; const Text: string);
begin
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2022, 05:45
Ответы с готовыми решениями:

Исправить ошибки если есть и правильно описать процедуру ньютона
program metod ; uses crt; var xn,xn1,a,b,c,mx,y0,x0,x,f :real; k: text; n: integer; function...

Правильно ответить на запрос websocket-a
Здравствуйте. Подскажите, пожалуйста, как правильно ответить на запрос, присланный через websocket?...

Описать процедуру Replace(S), заменяющую в строке S символы нижнего подчеркивания на пробелы. Используя эту процедуру, преобразовать пять данных строк
Описать процедуру Replace(S), заменяющую в строке S символы нижнего подчеркивания на пробелы....

Описать процедуру рисования любого узора. Используя эту процедуру "замостить" узором холст
Разработать программу, в которой описана процедура рисования любого графического узора, на основе...

Нужно через Indy TCPClient, передать Indy TCPServer-у record
Мне нужно через Indy TCPClient, передать Indy TCPServer-у record, примерно такова вида: ...

3
5779 / 4522 / 1430
Регистрация: 14.04.2014
Сообщений: 20,143
Записей в блоге: 20
18.02.2022, 11:29 2
TSWSCDataEvent = procedure(Sender: TObject; const Text: string) of object;
здесь ключевой момент - OF OBJECT!
self.lSWC1DataEvent - предполагает что у текущего объекта Self есть МЕТОД lSWC1DataEvent
а procedure lSWC1DataEvent - это вовсе не метод этого объекта/класса
поэтому собсно и не подходит
заведите в класс и взлетит
1
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 11
18.02.2022, 15:09  [ТС] 3
если честно я в классах совсем не силен, попробовал напрямую

Delphi
1
2
  TForm1 = class(TForm)
    lSWC1:TSWSCDataEvent;
[dcc32 Error] Unit1.pas(14): E2217 Published field 'lSWC1' not a class or interface type
так не получилось,
попробовал

Delphi
1
2
3
4
5
6
7
8
9
  TForm1 = class(TForm)
    procedure lSWC1DataEvent(Sender: TObject; const Text: string);
 
 
procedure TForm1.lSWC1DataEvent(Sender: TObject; const Text: string);
begin
// не удалять
   memo2.lines.append(Text);
end;
Все отлично заработало, я Вам благодарен, большое спасибо!
0
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 11
08.04.2022, 11:02  [ТС] 4
Добрый день уважаемые форумчане!

Хочу поднять тему. Все работает,но ровно через час соединение закрывается, где то в интернете ранее видел, что нужно отправлять служебное сообщение ping, чтобы канал не валился, может кто подскажет, где можно почитать по этому вопросу?

Большое спасибо!
0
08.04.2022, 11:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2022, 11:02
Помогаю со студенческими работами здесь

Websocket frame: Как правильно построить frame byte array?
Доброго дня. Пытаюсь написать свою имплементацию Websocket, но застрял на построении frame. Вот...

Описать процедуру
Описать процедуру DigitCountSum(K,C,S), находящую количество С цифр целого положительного числа К,...

описать процедуру
Описать процедуру Smooth(A,N), заменяющую каждый элемент вещественного массива A размера N на его...

Описать процедуру
Описать процедуру SwapRow(A,M,N,k1,k2), осуществляющую перемену местами строк вещественой матрицы А...

Описать процедуру
Здравствуйте помогите пожалуйста решить следующую задачу: Описать процедуру SumDigit (N,S),...

Описать процедуру
Описать процедуру Smooth (A,N), заменяющую каждый элемент вещественного массива A размера N на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru