Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

Ошибка при чтении потока   Найти похожие ветки 

 
Nvart   (2004-04-26 22:28) [0]

Доброго времени суток. Возникла следующая проблема. После добавления потока в программу при его вызове возникает ошибка:
Project1.project.exe raised exception class EAccessViolation with message:"AccessViolation" at address 004196F0 in module Project1.exe.
Read of address 000000004. Если кто знает, чем она может быть вызвана, подскажите пожалуйста.

поток:
unit Replace;

interface

uses
 Classes;

type
 TReplaceThr = class(TThread)
 public
   { Private declarations }

   procedure Execute; override;
 end;

implementation

uses Unit4;

{ Important: Methods and properties of objects in visual components can only be
 used in a method called using Synchronize, for example,

     Synchronize(UpdateCaption);

 and UpdateCaption could look like,

   procedure TReplaceThr.UpdateCaption;
   begin
     Form1.Caption := "Updated in a thread";
   end; }

{ TReplaceThr }

procedure TReplaceThr.Execute;
 var i,j,k,x:integer;
begin

x := 3;
//////////////////////////////Начало проходов по тексту
begin
for i := 0 to form4.RichEdit1.Lines.Count-1 do

  begin

      if form4.RichEdit1.Lines.Strings[i] <> "" then
      str := form4.RichEdit1.Lines.Strings[i];

      for j:=1 to (Length(str)) do
          //////////////////////// Замена
          begin
              if (str[j]<>".") and (str[j]<>" ") and (j mod x = 0)  then
                 begin
                     str[j]:=".";

                     if i>0 then
                        for k:=(Length(str)) to 256 do
                          str:=str+" ";
                 end
               else
                    if (str[j]=".") and  (j mod x = 0) then
                    str[j+1]:="."
end;
if terminated then exit;
end;
end;
end;
end.

Вызов:
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
thr:=TReplaceThr(false);
thr.Resume;
thr.Priority:=tpLower;

end;


 
Polevi ©   (2004-04-27 09:55) [1]

{ Important: Methods and properties of objects in visual components can only be
used in a method called using Synchronize


 
Romkin ©   (2004-04-27 12:50) [2]

:))) Не, ну главное, вкинул с этим комментарием, но его игнорировал. Блеск!
Кстати, структурируй, плизз.
А еще лучше - просто посмотри demos/threads, там пример есть


 
Тимохов ©   (2004-04-27 12:53) [3]

Да, прикольно:)))
Веть ответ же в вопросе есть.
Зачем игнорируем комментарий?


 
Erik ©   (2004-04-27 13:13) [4]

Может незнаем англиского языка? Вобщем Synchronize нужен для обращения к форме. Или с помощю сообщений сам делай, но кажется тебе это не светит.


 
vl_chel ©   (2004-04-27 14:51) [5]

procedure TForm4.BitBtn1Click(Sender: TObject);
begin
thr:=TReplaceThr.Create(false); // Создавать нужно
thr.Resume;
thr.Priority:=tpLower;

end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
3-1082626833
rserg
2004-04-22 13:40
2004.05.16
FibPlus и загрузка процессора при долгой работе программы


3-1082054430
td
2004-04-15 22:40
2004.05.16
onFilterRecord


14-1082697943
SergP
2004-04-23 09:25
2004.05.16
Посоветуйте прогу для создания патчей.


14-1082647358
SergP
2004-04-22 19:22
2004.05.16
Подскажите как правильно делать?


14-1082643918
copyr25
2004-04-22 18:25
2004.05.16
Ленин, Партия - Ум, Совесть и Честь нашей эпохи.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский