delphi在多线程中关于全局变量在过程或函数的问题 我在一个线程对象中声明了一个全局变量 i :Integer,但是在线程函数中改变它的值,可是再次取其值时,它的值就会变成0请问有没有人遇到过这样的问题呀。要怎么办才能保证它的值不变成0. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如下试试:type TMyThread = class(TThread) private NewValue: Integer; procedure SetValue; protected procedure Execute; end;implementationvar i: Integer;{ TMyThread }procedure TMyThread.Execute;begin NewValue := 10; Synchronize(SetValue);end;procedure TMyThread.SetValue;begin i := NewValue;end; i是全局变量,不会的。加Synchronize中是表示在更i的时候,即使有多个线程更新i的时候,也"必须排队一个个来",不能一窝蜂的都去更新i 求知一个文件类型~~~ 新手问题,求用delphi7通过Qreport控件显示数据表内容的实例。 为什么我的系统打不了delphi 6的sp2包呀?急呀 在Intraweb技术中,我想使IWEdit中的文字垂直居中,用CSS方式如何解决。水平居中我知道。 TListView赋值的问题。急,在线,马上给分 谁来帮我啊!! sql语句如何写 请教高手希望大家帮我解决 谢谢! 如何使TQuery.CanModify的值为true? !!ADO ADO 好烦 好烦!! 关于拼音码中的数字与英文 滚动字幕遮住菜单栏怎么办?
TMyThread = class(TThread)
private
NewValue: Integer;
procedure SetValue;
protected
procedure Execute;
end;implementationvar
i: Integer;{ TMyThread }procedure TMyThread.Execute;
begin
NewValue := 10;
Synchronize(SetValue);
end;procedure TMyThread.SetValue;
begin
i := NewValue;
end;