Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Ksyz
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 41
#1

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

30.07.2015, 13:34. Просмотров 213. Ответов 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.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2015, 13:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Первое многопотоковое приложение (Delphi):

Многопотоковое приложение - ткнуть пальцем на ошибку - Delphi
Короче, при запуске приложения стартует таймер, по событию которого создается поток. Далее таймер снова активирует себя и назначает другой...

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

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

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

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

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

3
FIL
Модератор
3375 / 2513 / 478
Регистрация: 19.09.2012
Сообщений: 7,845
30.07.2015, 13:52 #2
Прежде чем осваивать "многопотоковые" приложения, не помешало бы прочитать какую-нибудь книжку по самым основам Дельфи.
0
Ksyz
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 41
30.07.2015, 14:01  [ТС] #3
Буду честен, не все понимаю, когда сам ручками делаешь как-то быстрее доходит
0
krapotkin
2667 / 2543 / 644
Регистрация: 14.04.2014
Сообщений: 12,281
Записей в блоге: 7
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
30.07.2015, 15:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2015, 15:15
Привет! Вот еще темы с ответами:

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

.NET 4.x Первое приложение - C#
Всем привет. Скажу сразу: я никогда не писал никаких приложений, кроме учебных в книгах. Хочу написать приложение подобное почившему Google...

Первое приложение - Программирование Android
Здравствуйте. Пытаюсь программировать на anroid. Создал небольшое приложения для начала, но вот не хочет запускаться :( Через LogCat ошибок...

Первое приложение - Windows Phone
Пытаюсь написать первое универсальное приложение. Имеется textBox в который вводится текст, сам текстбокс я так понял это объект класса, а...


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

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

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