Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Ksyz
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 45
#1

Первое многопотоковое приложение - Delphi

30.07.2015, 13:34. Просмотров 232. Ответов 3
Метки нет (Все метки)

Доброго времени суток, Миряне!
решил начать осваивать создание многопотоковых приложений, ибо большо смотреть как мой "Hello World" нагружает лишь одно ядро, а второе прохлаждается))) И вообще, в эру многоядерности делать одноядерные приложения не комильфо

набросал простенькое приложение, но оно, как водится, не работает, вернее a:=0(((
Ткните перстом указующим, что я пропустил.

Приложение:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
unit main;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, thrill;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    PiThread : second;
  end;
 
var
  Form1: TForm1;
  Global,a:integer;
   MyThread: second;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
MyThread:=second.Create(False);
label1.caption:=inttostr(a);
end;
 
end.
поток thrill.pas:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
unit thrill;
 
interface
 
uses
  Classes;
 
type
  second = class(TThread)
  private
    { Private declarations }
  protected
    procedure Execute; override;
  end;
 
implementation
 
{ 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 second.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }
 
{ second }
 
procedure second.Execute;
var a,b,c: Integer;
begin
a:=100*269;
end;
 
end.

http://www.cyberforum.ru/delphi/thread849483.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2015, 13:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Первое многопотоковое приложение (Delphi):

приложение(*) где по нажатию кнопки эти файлы распаковывались бы в директорию в которой лежит приложение(*)...
Есть 2 файла 222.pck 5556.dll нужно сделать приложение(*) где по нажатию кнопки...

Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает.
Ребята нужна помощь,все вроде сделал, но приложение начинает зависать при...

Первое значение не рандомит
Привет всем, снова я тут со своими глупыми вопросами :) Ну все же прошу о...

Первое приложение
Здравствуйте. Господа, расскажите у кого какое было первое приложение. Первое...

Первое С++ приложение
Добрый день, господа! Я бы был крайне благодарен, если бы меня профилактически...

3
FIL
Модератор
3409 / 2547 / 725
Регистрация: 19.09.2012
Сообщений: 7,908
30.07.2015, 13:52 #2
Прежде чем осваивать "многопотоковые" приложения, не помешало бы прочитать какую-нибудь книжку по самым основам Дельфи.
0
Ksyz
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 45
30.07.2015, 14:01  [ТС] #3
Буду честен, не все понимаю, когда сам ручками делаешь как-то быстрее доходит
0
krapotkin
3295 / 2935 / 1015
Регистрация: 14.04.2014
Сообщений: 14,255
Записей в блоге: 13
30.07.2015, 15:15 #4
1)
Delphi
1
2
3
4
5
procedure second.Execute;
var a: Integer;
begin
   a:=100*269;
end;
a - локальная переменная, после присваивания жить ей осталось 1 строку
но умный компилятор, чтобы a не мучилось, скорее всего, вообще даже не включит эту строку в программу...
2) label1.caption:=inttostr(a);
а тут a берется из глобальных переменных (стр. 22)
ее никто не обижал и она хранит невинность и ноль
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2015, 15:15
Привет! Вот еще темы с решениями:

Первое приложение
Какой инструментарий мне нужен для написания первого приложения для Андроид?...

Первое приложение
Добрый всем ! Обозначу сразу,что я новичок,и не знаю всей кухни.Открыв...

Первое приложение
Всем привет. Скажу сразу: я никогда не писал никаких приложений, кроме учебных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru