Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2017, 20:49   #1
хорват
Новичок
Джуниор
 
Регистрация: 08.11.2017
Сообщений: 2
Злость Ошибка Invalid pointer operation

Всем привет! Я начинающий программист, в терминах и понятиях особо не разбираюсь, так что постараюсь изложить проблему максимально понятным языком. Я объявляю поток в Type ***, .......

Код:
  TMyThread = class(TThread)
    private
    { Private declarations }
  protected
    procedure Execute;
     override;
......затем глобальную переменную, .....

Код:
var
 
  Mythread:TMyThread;


....описываю в основном коде программы процедуру TMyThread.Execute, принадлежащую потоку, .........

Код:
procedure TMyThread.Execute;

var  

begin
 
end;
....далее кнопкой, находящейся на форме вызываю эту процедуру.....


Код:
procedure TForm1.Button1Click(Sender: TObject);        
begin


Mythread:=TMyThread.Create(false);

end;
В процедуре понятное дело есть свои переменные, из глобальных она использует только две типа file of byte и одну типа int64, причем файловые переменные, если что, объявляются при создании формы и уничтожаются при ее закрытии, т.е. до и после вызова процедуры, также в процедуре есть цикл, но это, я надеюсь, не важно, в процессе выполнения которого выполняется вот что.....

Код:
 
inc(i);           i-переменная процедуры
И еще там есть строка.....


Код:
form1.label1.caption:=inttostr(i);

При некотором значении "i" , вылетает ошибка на этой строчке....

*********Invalid pointer operation***********

Какие хотя бы могут быть причины подобного, заранее ОГРОООООМНОЕ СПАСИБО!!!!!!

(В процедуре еще присутствует динамический массив объявляемый в другом модуле, который само собой подключен к данному. Ошибка вылетает при любом приоритете потока )

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 08.11.2017 в 21:22.
хорват вне форума Ответить с цитированием
Старый 08.11.2017, 22:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Все vcl объекты формы не потокобезопасны и для обращения к ним надо использовать синхронайз.
p51x вне форума Ответить с цитированием
Старый 08.11.2017, 23:44   #3
хорват
Новичок
Джуниор
 
Регистрация: 08.11.2017
Сообщений: 2
По умолчанию

Спасибо!
хорват вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка Invalid Pointer Operation при работе switch David Villa Общие вопросы C/C++ 5 02.06.2012 16:24
Массив случайных чисел и ошибка Invalid pointer operation lobz1k Общие вопросы C/C++ 1 05.06.2010 20:40
Invalid pointer operation. KoBRaAndrey Общие вопросы Delphi 6 02.06.2010 17:32
Invalid Pointer Operation csander Общие вопросы Delphi 0 21.10.2009 17:44
Invalid Pointer Operation Unconnected Общие вопросы Delphi 3 21.02.2009 20:23