加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何访问Delphi 2010中的“NameThreadForDebugging”

发布时间:2020-12-15 04:14:17 所属栏目:大数据 来源:网络整理
导读:如何在Delphi 2010中的delphi Thread中访问“NameThreadFor Debugging”? type TMyThread = class(TThread) protected procedure Execute; override; procedure UpdateCaption; end;implementationprocedure TMyThread.UpdateCaption;begin Form1.Caption :
如何在Delphi 2010中的delphi Thread中访问“NameThreadFor Debugging”?
type
  TMyThread = class(TThread)
  protected
    procedure Execute; override;
    procedure UpdateCaption;
  end;

implementation

procedure TMyThread.UpdateCaption;
begin
  Form1.Caption := 'Name Thread For Debugging'; 
  // how I get 'TestThread1' displayed in the caption  
end;


procedure TMyThread.Execute;
begin
  NameThreadForDebugging('TestThread1');
  Synchronize(UpdateCaption); 
  Sleep(5000);
end;

解决方法

顾名思义,NameThreadForDebugging功能仅用于调试.如果要为其他目的跟踪名称,请在线程对象中保留一个字段并将名称存储在那里.使用该字段命名线程并按需填充表单的标题.

没有用于检索线程名称的API,因为线程在API级别没有名称. NameThreadForDebugging引发了一个特殊的异常,IDE将其识别为“命名此线程”异常.它看到异常(因为它是一个调试器),在它自己的内部调试数据结构中记下线程的名称,然后允许应用程序继续运行.应用程序捕获并忽略该异常.

但是,数据传输是单向的.应用程序可以通过异常向调试器发送信息,但调试器无法发回数据.操作系统对一切都没有注意到.对于操作系统,它就像任何其他异常一样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读