xumenger 2015-08-12 02:59 采纳率: 72.2%
浏览 2206

Delphi的计时器问题:会不会造成同时操作全局变量的冲突

假如有一个操作是增加一个全局变量的值,但是还有一个计时器也用于定时增加该全局变量的值,那么假如在执行前一个操作的时候同时计时器也正好触发执行,这样会不会有冲突。

以下面的代码为例,假如在你点击按钮的时候同时计时器被触发会怎么样?

 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btn1: TButton;
    tmr1: TTimer;
    procedure btn1Click(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i: Integer;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  Inc(i);
  btn1.Caption:= IntToStr(i)

end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  Inc(i);
  btn1.Caption:= IntToStr(i);

end;

end.
  • 写回答

3条回答 默认 最新

  • Tiger_Zhao 2015-08-12 06:08
    关注

    没有问题,按钮和计时器其实在一个消息队列中,是逐个处理的。

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建