![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.03.2012
Сообщений: 47
|
![]()
Столкнулся вот с какой проблемой, я храню процедуры в массиве дабы в дальнейшем запускать их в новом потоке, но выполнение программы останавливается на ее запуске.
Код:
|
![]() |
![]() |
![]() |
#2 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
У тебя Params - это массив, а ты пытаешься обратиться к нему по смещению Код:
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
||
![]() |
![]() |
![]() |
#3 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
А ваще, юзать дин. массивы для хранения указателей - это эрзац. Для этого понаписано 100500 классов - наследников TList и дженериков. TThreadList ваще стандартный класс со времён царя гороха.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Добавлю только.
Столкнулся вот с какой проблемой, я храню процедуры в массиве дабы в дальнейшем запускать их в новом потоке, но выполнение программы останавливается на ее запуске. Кода самой программы вы не привели. Привели только код дополнительного модуля. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 18.03.2012
Сообщений: 47
|
![]()
А ты? Угостишь? А то видимо мое веществе действует слабее твоего, так как напрочь отключает у человека функцию адекватного оказания помощи.
Серьезно? Может мне в казино сыграть тогда? Я настолько фартовый, что в Код:
Код:
Я одинаково обращаюсь к Params и в SetArgs и в Execute, то есть волшебный компилятор в SetArgs сначала к Params обращается как к массиву, а в Execute решает превратить его в нечто иное и обращаться по смещению? Я немного не понимаю, пришел с C# и там массивы работают адекватно, установка переменной Params[i] = '1111'; и так же можно получить что там лежит s = Params[i]; (s - 1111) |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 18.03.2012
Сообщений: 47
|
![]()
Я так понимаю, огромную роль тут играет код основной программы? Ну держи
Код:
|
![]() |
![]() |
![]() |
#7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Иди обратно, откуда пришёл. У нас тут динамические массивы нумеруются с нуля и до "кол-ва элементов минус 1". А WinAPI-функция GetCurrentThreadID() возвращает уникальный для текущей сессии номер потока, который вызвал эту функцию.
![]() Избавься от динамических массивов и проблема пропадёт. Ты тупо долбишься за пределы выделенной памяти или в неинициализированный элемент. И с веществами завязывай. Это дорого и неэффективно. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 25.05.2018 в 08:14. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 18.03.2012
Сообщений: 47
|
![]()
TThreadList не дает возможности мне узнать ID потока. И как мне узнать ID потока в котором был запущен Execute? Суть даже не в самих потоках, я таким образом пытаюсь хранить имена функций и параметров, самый легкий вариант который я увидел, это забивать в массив под ID потока, потом уже в Execute по ID выполняющегося потока доставать эти данные из ID
|
![]() |
![]() |
![]() |
#9 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Конечно. Это просто список указателей. Он предназначен именно для манипуляции с ними.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#10 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]() Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 25.05.2018 в 08:37. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подпрограммы-процедуры в Delphi. Найти наименьшие положительные элементы и их порядковые номера в массиве | emalf | Помощь студентам | 6 | 15.12.2016 03:03 |
запуск потока из таймера, как? | buket | Общие вопросы Delphi | 6 | 16.12.2011 11:36 |
[Delphi] Запуск процедуры с параметром | ZePr | Помощь студентам | 10 | 02.02.2011 16:32 |
Запуск таймера из потока (delphi 2010) | Terikon | Общие вопросы Delphi | 10 | 07.08.2010 18:09 |
Запуск процедуры из процедуры с дополнением | 1sal1 | Общие вопросы Delphi | 3 | 06.10.2008 21:54 |