BeginThread Structure - Delphi

У меня почти готовое приложение, и следующая функция, которую я хочу реализовать, - это многопоточность. Я выбрал BeginThread (), хотя знаю о TThread в delphi. Проблема, с которой я сталкиваюсь, - это структура вызова BeginThread (). Обычно строка в программе, которая вызывает функцию, которую я хочу разделить, - это

CompareFiles(form1.Edit3.Text,Form1.Edit4.Text,Form1.StringGrid2,op);

op - целое число.

Строка, на которую я переключил его, чтобы создать из него поток, это

BeginThread(nil,0,CompareFiles,Addr('form1.Edit3.Text,Form1.Edit4.Text,Form1.StringGrid2,op'),0,x);

Из небольшого количества информации, которую я могу найти о том, как на самом деле использовать BeginThread (), это должен быть хороший вызов, однако при компиляции все, что я получаю, - это ошибки компилятора, касающиеся структуры параметров моего оператора BeginThread ().

РЕДАКТИРОВАТЬ ДЛЯ ИНФОРМАЦИИ.

Текущая процедура, которая вызывает CompareFiles, -

procedure TForm1.Panel29Click(Sender: TObject);
var
op,x : integer;

begin
    if (Form1.Edit3.Text <> '') AND (Form1.Edit4.Text <> '') then
        begin
          op := 3;
          if RadioButton7.Checked = True then op := 0;
          if RadioButton3.Checked = True then op := 1;
          if RadioButton4.Checked = True then op := 2;
          if RadioButton5.Checked = True then op := 3;
          if RadioButton6.Checked = True then op := 4;
          CompareFiles(form1.Edit3.Text,Form1.Edit4.Text,Form1.StringGrid2,op);
        end;
end;

Если бы я использовал TThread, как было предложено парой людей и как показано Робом ниже, я не понимаю, как а) я бы передал op, Edit3 / 4 .Text и StringGrid2 в CompareFiles. Судя по примеру TThread, который я видел, я решил заменить приведенный выше код на TCompareFilesThread.Execute и поместить текущий код из Panel29Click в TCompareFilesThread.Create , а затем добавить

FEdit3Text := Edit3Text;
FEdit4Text := Edit4Text;
FGrid := Grid;

на это

FEdit3Text := Form1.Edit3.Text;
FEdit4Text := Form1.Edit4.Text;
FGrid := Form1.StringGrid2;

Но у меня такое мучительное чувство, которое совершенно не соответствует действительности.

5
задан Flatlyn 25 January 2011 в 05:00
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: