c++预编译头文件_VJVJ X27s 智能安卓手机

c++预编译头文件_VJVJ X27s 智能安卓手机我们都知道,C++Builder编程是建立在VCL类库的基础上的。在程序中经常需要访问VCL对象的属性和方法。不幸的是,VCL类库并不保证其中对象的属性和方法是线程访问安全的(Thread_safe),访问VCL对象的属性或调用其方法可能会访问到不被别的线程所保护的内存区域而产生错误。因此,TThread对象提供了一个Synchronize方法,当需要在线程中访问VCL对象属性或调用方法时,通过Synchronize方法来访问属性或调用方法就能避免冲突,使各个线程之间协调而不会产生意外的错误。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

首先引用如下文字: 

  我们都知道,C++Builder编程是建立在VCL类库的基础上的。在程序中经常需要访问VCL对象的属性和方法。不幸的是,VCL类库并不保证其中对象的属性和方法是线程访问安全的(Thread_safe),访问VCL对象的属性或调用其方法可能会访问到不被别的线程所保护的内存区域而产生错误。因此,TThread对象提供了一个Synchronize方法,当需要在线程中访问VCL对象属性或调用方法时,通过Synchronize方法来访问属性或调用方法就能避免冲突,使各个线程之间协调而不会产生意外的错误。



也就是说,在indy 10中的线程控件(如图)中

c++预编译头文件_VJVJ X27s 智能安卓手机

要使用VCL控件,例如Memo控件,一定要使用Synchronize方法来调用,这样能有效避免莫名其妙的卡死和显示不正常的现象。


例程:

void __fastcall TForm2::Display(void)
{
	Memo1->Text = L"在线程中显示文字";
}
//--------------------------------------------------------------------------
void __fastcall TForm2::IdThreadComponent1Run(TIdThreadComponent *Sender)
{
	IdThreadComponent1->Synchronize(Display);
}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190470.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 0xC0000005: 写入位置 0x00000000 时发生访问冲突的解决办法「建议收藏」

    0xC0000005: 写入位置 0x00000000 时发生访问冲突的解决办法「建议收藏」我是新手,其实对这个东西我自己也不是很清楚,当更不可能将有的情况都列举出来,在这里我只是将自己见到的,可能的情况做一个汇总:上面的意识就是你吧值付给了不该赋给的变量,或者说你把值付给了不能付给的变量(或者常量)(1)最简单也最直接的错误可能就是scanf()的问题,我们都知道输入的时候都是scanf(“%格式”,&变量),那么除了字符串(可要&,可不要)之外,所有的输入都需要&,如果你

    2022年10月3日
    0
  • 替换指定字符串中,键对应的键值

    替换指定字符串中,键对应的键值

    2021年11月4日
    39
  • nginx 80端口重定向到443端口

    nginx 80端口重定向到443端口

    2021年10月30日
    732
  • vue判断map是否为空

    vue判断map是否为空JSON.stringify(data)=='{}’Object.keys(xxx).length==0forin循环判断varobj={};varb=function(){for(varkeyinobj){returnfalse;}returntrue;}alert(b());//true

    2022年6月28日
    85
  • 学习笔记-const与readonly的异同

    学习笔记-const与readonly的异同(1)const定义时即初始化,运行期间无法再初始化;readonly除了在定义时可以初始化外,还能再运行期间的构造函数中初始化,实例只读变量只能在实例构造函数中初始化,静态只读变量只能在静态构造函数

    2022年7月2日
    29
  • centos7如何更改ip地址

    1.进入网络设置文件里面命令如下:这里最好是使用root用户,然后使用ls命令找到网络的配置文件。我这里的配置文件是ifcfg-ens33.然后使用vi命令进入文件进行编辑网络的ip地址等信息。然后按键盘i进入编辑模式,更改ip地址等信息。然后按esc键退出编辑模式,然后输入:wq!保存。2.使用servicenetworkrestart命令,重启网络服务。3.ping百…

    2022年4月7日
    132

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号