|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
||||||
Многопоточность в делфи18.06.2014, 01:45. Показов 5657. Ответов 74
Метки нет (Все метки)
Здравствуйте, нужны советы и помощь.
Суть задачи состоит в том что: Есть компонент ListView. Нужно сделать так что бы каждая строка была отдельным потоком, проще говоря, строка для пользователя была доступом в поток, и при её нажатии сбоку в компоненте Edit вывелась переменная того класса который в потоке, к примеру. Подсказали сделать TList и в нём держать указатели на поток и при выборе какого то элемента в ListView брать из TList поток с тем же индексом. В принципе проблем нет. Но я понял что, я не смогу управлять потоком, т.е. мне нужно будет изменить переменную в том классе добавить элемент в массив и т.д.( Естественно для всего этого будут свои методы), а я этого не смогу. Именно нужно что бы в потоке хранился класс, так как класс будет таким себе клиентом написанным на сокетах и будет общаться с сервером, будут главные процедуры класса к которым мне нужен доступ, как я писал уже выше. Так вот как такое реализовать, возможно у кого то есть решение, или мысли, прошу помощи у Вас) Спасибо Добавлено через 33 минуты
Вроде поток создаю. Вроде доступ ко всему что нужно есть. Прошу вашей помощи. Добавлено через 4 часа 9 минут Что будет если я в TList добавлять указатели на экземпляры класса(клас в себе содержит клиент-сокет и обрабатывает сойдинение) по сути оно должно работать.??
0
|
||||||
| 18.06.2014, 01:45 | |
|
Ответы с готовыми решениями:
74
Делфи и многопоточность Как в Делфи выполнить код, написанный на Делфи, например в поле ввода? У меня стоит Делфи 5, возможно еще поставить и Делфи 7, или будут проблемы?! |
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
|
| 19.06.2014, 15:14 [ТС] | |
|
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 19.06.2014, 15:29 | |
|
если завершился, значит истинно while-условие либо в теле цикла возникло необработанное исключение
0
|
|
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
|||||||
| 19.06.2014, 15:31 [ТС] | |||||||
0
|
|||||||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|||
| 19.06.2014, 15:35 | |||
|
0
|
|||
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
|||
| 19.06.2014, 15:39 [ТС] | |||
|
А Вы отвечать)
0
|
|||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 19.06.2014, 16:09 | ||
|
0
|
||
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
||
| 19.06.2014, 16:15 [ТС] | ||
|
0
|
||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 19.06.2014, 16:29 | |
|
0
|
|
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
|
| 19.06.2014, 16:31 [ТС] | |
|
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 19.06.2014, 16:35 | |
|
Если так, то тот самый твой "вечный" цикл попросту не запускается на выполнение.
0
|
|
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
|||||||
| 19.06.2014, 16:38 [ТС] | |||||||
|
Подскажите как правильно добавить экземпляр класса в компонент TList очищая при это все буферные переменные, сейчас я делаю так:
0
|
|||||||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|
| 19.06.2014, 16:50 | |
|
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 19.06.2014, 17:01 | ||
|
Компонент - это наследник TComponent List.Add(TMyThread.Create(..)) Но TObjectList при прочих равных условиях будет удобнее и функциональнее чем TList - по мешьшей мере ему можно поручить автоматическое уничтожение объектов, добавленных в его список
0
|
||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|
| 19.06.2014, 17:02 | |
|
0
|
|
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
||
| 19.06.2014, 17:04 [ТС] | ||
|
0
|
||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|
| 19.06.2014, 17:08 | |
|
1
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 19.06.2014, 17:16 | ||
|
А чтобы поток сразу не стартовал, конструктор следует вызывать с параметром True После вызова конструктора и необходимой доп.поготовки сконструированного объекта следует вызвать его метод Resume - рожденный спящим поток тут же стартует
1
|
||
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
||
| 19.06.2014, 17:52 [ТС] | ||
|
Еще подскажите, как правильно организовать обработку пакетов которые я получаю, в пакете первые байты это его тип, я что то не сильно хочу делать большой свитч. И еще как добавить свой тип данных, но есть одно но он динамический. может быть 1,2 или 3 байта длины.
0
|
||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 19.06.2014, 18:09 | |
|
заголовок сообщения должен иметь фикс.размер, например, 8 байт, в составе которых:
4 байта - код типа сообщения 4 байта - длина тела сообщения, следующего за заголовком
0
|
|
|
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 52
|
||||||||||||
| 19.06.2014, 19:49 [ТС] | ||||||||||||
|
Добавлено через 1 минуту У меня есть такая функция запаковки и розпаковки только они написаны на C# или php Добавлено через 1 час 2 минуты Ещё моё незнание как работать с указателями в делфи привело меня к тому что, я не знаю как дальше обратиться к созданному классу, создаю я его так как и Вы говорили:
![]() Добавлено через 4 минуты Получилось так:
0
|
||||||||||||
| 19.06.2014, 19:49 | |
|
Здр, пожалуйста попробуйте запутсить .exe написанное на делфи 10 у себя, те у кого делфи 7
То что работает в Делфи 7 - не работает в Делфи 2010 Многопоточность Многопоточность Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|