|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
|
Можно ли и как запустить в программе, написанной на Delphi 7, 12 разных циклов одновременно?03.08.2017, 13:10. Показов 3032. Ответов 57
Метки нет (Все метки)
Здравствуйте! Профи подскажите, можно ли и как запустить в программе написанной на Delphi 7 12 разных циклов одновременно, и чтобы получать из них результаты и собрать эти результаты в один?
0
|
|
| 03.08.2017, 13:10 | |
|
Ответы с готовыми решениями:
57
Как запустить метод класса одновременно в разных потоках?
Можно ли создать тест в программе My Test Student и запустить этот тест через Delphi? |
|
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
||
| 06.08.2017, 02:25 | ||
|
Извини за эту придирку, но вопрос ТС как раз это подразумевает, имхо.
0
|
||
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
|
| 06.08.2017, 09:22 [ТС] | |
|
Скажите, можно ли какой-то получить номера потоков по возрастанию? К примеру, при запуске потоков, получать их id или номер в виде 1,2,3,4. Можно как-то так?
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 06.08.2017, 09:32 | |
|
У меня в примере такой номер получается при добавлении новой строки в мемо, но мне он там нужен только для связывания потока с его отображаемой строкой в мемо. А вам для чего?
0
|
|
|
|
||||||
| 06.08.2017, 09:41 | ||||||
|
да кто же кроме вас будет им номера-то давать???
и в чем проблема добавить в класс 100500 нужных вам полей и методов
1
|
||||||
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
||||||||||||||||
| 06.08.2017, 10:24 [ТС] | ||||||||||||||||
|
запускаю 2 потока так:
Добавлено через 6 минут Написал так:
Добавлено через 9 минут Сам цикл работает, но в первом потоке стоит проверка для
0
|
||||||||||||||||
|
Айлурофил
|
||||||
| 06.08.2017, 10:24 | ||||||
|
Вот тебе ещё пример. Здесь потоки сразу пронумерованы.
Программа находит сумму чисел от 1 до 11000. При этом разбивает вычисления на 11 потоков, с тем, чтобы каждый обрабатывал свою часть, а потом складывает все результаты.
1
|
||||||
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
|
| 06.08.2017, 10:29 [ТС] | |
|
Сори, всё работает, мой косяк) Всем спасибо за помощь) плохо спал, видимо из-за этого сразу не обратил внимание на одну мелкую ошибочку
0
|
|
|
Айлурофил
|
|
| 06.08.2017, 10:36 | |
|
-0.50
|
|
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
|||||||||||
| 06.08.2017, 10:54 [ТС] | |||||||||||
|
Единственная проблема ещё осталась всё-таки, во втором потоке в цикле присваивается переменной code значение, но в первом потоке она почему-то постоянно пустая, как так?) переменную объявил для потоков в
Объявил переменную так
-0.50
|
|||||||||||
|
Житель Земли
|
||||
| 06.08.2017, 11:12 | ||||
|
1. узкое место - название формы, изменишь название, придется менять код потока. 2. следуя правилу "отделять данные от реализации" - поток не должен куда-то выводить данные, кроме своих полей. он сделал работу, забирать данные - задача вызывающего. для этого у потока есть событие OnTerminate, которое, внезапно, срабатывает, когда поток завершил работу и которое работает в коде вызывающего (т.е. спокойно может быть методом формы)
1
|
||||
|
Айлурофил
|
||
| 06.08.2017, 11:41 | ||
|
Добавлено через 10 минут https://youtu.be/a0U_JfJbTZM
0
|
||
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
||||||
| 06.08.2017, 12:09 [ТС] | ||||||
|
ребят, ещё ошибка, переменная code1 с одного потока номер 1 и переменная code2 с потока номер 2, выскакивает ошибка при выполнении в 3 потоке
Добавлено через 5 минут Access violation at address 00403168 in module 'Project1.exe'. Read of address 0000003D
0
|
||||||
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
|
| 06.08.2017, 12:11 [ТС] | |
|
Видимо это было из-за того, что не правильно по очереди запустил потоки. Хотя выставил их в нужном порядке, ошибка бывает выскакивает. Из-за чего вообще может быть?
0
|
|
|
Житель Земли
|
||||||||||||
| 06.08.2017, 12:12 | ||||||||||||
0
|
||||||||||||
|
Айлурофил
|
|||||||||||
| 06.08.2017, 12:27 | |||||||||||
|
А объясните мне, почему так работает:
0
|
|||||||||||
|
1 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 37
|
||||||
| 06.08.2017, 12:30 [ТС] | ||||||
|
Нашел строку из-за которой ошибка,
0
|
||||||
| 06.08.2017, 12:46 | |
|
0
|
|
| 06.08.2017, 12:46 | |
|
Можно ли модули, написанные на Python, использовать в программе, которая пишется на Delphi? И если можно, то как? Как можно создать последовательность разных кадров (изображений) в одном слое в программе KoolMoves Есть исходник DLL на Delphi как (и возможно ли) написать похожее на VB.NET и использовать в среде программы написанной на Delphi Как подключить графику к написанной программе? Как подключить код на С к программе написанной на VB Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|