小编use*_*794的帖子

"暂停"具有属性的线程

我有一个TThread对象,希望能够通过程序主窗体上的按钮启动/停止线程.我一直在研究如何做到这一点,到目前为止,我有以下想法:

  1. 当用户单击"停止"时终止并释放该线程,并在单击"开始"时创建一个新线程.
  2. 使用sleep延迟线程(我不想这样做)
  3. 有一个属性是一个布尔值来确定线程是否暂停.只有在此布尔值为false时,才会执行Execute中的代码.

我倾向于#3.在主窗体上设置TThread对象的布尔属性是线程安全吗?

我应该选择哪些选项或更好的选择?这是我第一次使用线程,所以任何帮助都表示赞赏.

delphi multithreading tthread critical-section pause

5
推荐指数
1
解决办法
452
查看次数

字段modifyDate永远不会分配给,并且始终具有其默认值0

有人可以向我解释为什么我会收到这个警告吗?我已经测试了代码并且它有效,我得到了我应该在那里获得的价值.这是一个错误的警告还是我缺少的东西?

[DataMember(Name = "modifyDate")]        
private long modifyDate;

public DateTime lastModified 
{
    get { return DateTimeConverter.FromUnixTime(modifyDate); }
}
Run Code Online (Sandbox Code Playgroud)

c# debugging compiler-warnings

3
推荐指数
1
解决办法
795
查看次数

Delphi自动完成ButtonClick程序

因此,当您双击按钮并自动完成按钮单击过程时,我很好奇编译器如何知道函数链接到哪个按钮.例如,它将使TForm1.Button1Click(发件人:TObject);

那么编译器如何知道链接的按钮呢?它只解析过程名称以查看它是什么按钮吗?

delphi compiler-construction autocomplete button buttonclick

2
推荐指数
1
解决办法
1579
查看次数

Delphi TImage over TSpeedButton

我想将TButton或TSpeedButton放在TImage的顶部并使按钮透明,这样你仍然可以点击它,但你看到的是图像而不是按钮.我似乎无法让它工作,我将TSpeedButton更改为透明,但它似乎没有做任何事情.

我也尝试为按钮设置Visible false,但随后它变得无法点击.有没有办法让按钮隐藏而不会失去其功能?

谢谢.

delphi timage button transparent visible

2
推荐指数
1
解决办法
812
查看次数

德尔福弹出框与图像

所以我是Delphi的新手,我有一个按钮,点击它时会打开一个OpenPictureDialog.然后我想创建一个弹出框,其中加载了该图片.我不确定最好的办法是什么?

我想在按钮单击事件上创建一个新表单,然后将图像放入其中,但我无法弄清楚如何将TImage传递给表单构造函数.

OpenPictureDialog1.Execute;
img.Picture.LoadFromFile(OpenPictureDialog1.FileName);
TForm2.Create(Application, img).Show;
Run Code Online (Sandbox Code Playgroud)

有没有人更好地了解如何做到这一点或一种方法来解决我正在尝试做的事情?

谢谢.

forms delphi image popup button

2
推荐指数
1
解决办法
1611
查看次数

C#中的Foward声明

真的很喜欢在课程开始时声明我的所有方法,并希望通过前向声明来实现,然后再进一步实现它们.这可能在C#中吗?

例如:

private void Test();

private void Test()
{
}
Run Code Online (Sandbox Code Playgroud)

c# forward-declaration

2
推荐指数
2
解决办法
5586
查看次数

LookupSource必须连接到TTable组件

我正在尝试使用TDBLookupCombo,但是收到错误"EInvalidOperation with message'LookupSource必须连接到TTable组件'.

我将TDBLookupCombo.LookupSource连接到TDataSource.TDataSource.Dataset指向一个TClientDataSet,它包含查找表的记录(字段ID和描述).

LookupDisplay := 'Description';
LookupField := 'ID';
LookupSource := dsLookup;
Run Code Online (Sandbox Code Playgroud)

这是不可能的,因为TCilentDataSet不是TTable的后代?如果是这样,那么在不使用第三方组件的情况下,最佳选择是什么.

delphi tclientdataset data-aware delphi-xe2 tcombobox

1
推荐指数
1
解决办法
620
查看次数