


如果是 Windows 操作系统IIS服务器部署emlog,可能会遇到浏览器找不到字体文件(woff/woff2)
产生的错误。这样会导致浏览器无法加载字体图标,这是因为服务器IIS不认woff/woff2 文件类型的
原因。以下是解决方案(也可以自己搜索:"IIS 字体不显示" ,网上也有很多解决该问题的文章):
1.打开IIS,在主界面中点击MIME类型:
2.手动添加MIME类型:
扩展名 MIME类型
.woff application/x-font-woff
.woff2 application/x-font-woff
3.添加完成后,刷新页面就行了。
如果上面方法未能解决,检查是否开启了静态 CDN,emlog 是动态系统并不支持静态CDN,开启
可能会导致字体加载出现跨域问题,无法加载,出现图标无法展示的问题,请关闭CDN。
IIS管理器在 windows控制面板 管理工具 internet信息服务器管理器中 设置中 选择网站,对应的
网站才能看到MINE设置
操作步骤:
1.打开delphi,菜单选择compoents->import Activex control,然后选择那个mscomm32.ocx安装即可。
2.注册MScomm控件
开始-》运行-》 regsvr32 MScomm32.ocx
如果在delphi中使用Mscomm控件出现如下错误提示:
“License information for TMSComm not found.You cannot use this control in design mode.”
则运行如下操作步骤:
{
在程序,运行中运行:regedit,进入注册表,在HEKEY_CLASS_ROOT下的LICENSES下新建项目,
项目名是:4250E830-6AC2-11cf-8ADB-00AA00C00905
选中此新建项目的对应的右边的默认右击鼠标,选择修改在数值数据中输入:
kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
AD18出来也有将近小半个月了,论坛里也看到有人在问以前report里的board information到哪里去了?如果你没用过pads啥的,可能看界面会懵比了
仔细看右边!!!!

没错!就是它,点开以后下拉,看到没?!大大的report~


点击它就是我们以前熟悉的东东了~
PS:不得不说AD确实进步的很快。而老牌的cadence这些功能很强大,但交互应用始终是个头疼的问题,画一般的板子我已经抛弃它了。
正确答案是打开注册表编辑器,regedit。找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation。把其中名为RealTimeIsUniversal的的值,设置为0
在工程文件中, WinMain函数里加上以下代码(此代码在BCB6.0下运行):
主要使用到CreateMutex()函数和GetLastError()以及一个常量ERROR_ALREADY_EXISTS.
当然, 你的程序有窗体的话, 还可以使用FindWindow().
进程的互斥运行
正常情况下,一个进程的运行一般是不会影响到其他正在运行的进程的。但是对于某些有特殊要求的如以独占方式使用串行口等硬件设备的程序就要求在其进程运行期间不允许其他试图使用此端口设备的程序运行的,而且此类程序通常也不允许运行同一个程序的多个实例。这就引出了进程互斥的问题。
实现进程互斥的核心思想比较简单:进程在启动时首先检查当前系统是否已经存在有此进程的实例,如果没有,进程将成功创建并设置标识实例已经存在的标记。此后再创建进程时将会通过该标记而知晓其实例已经存在,从而保证进程在系统中只能存在一个实例。具体可以采取内存映射文件、有名事件量、有名互斥量以及全局共享变量等多种方法来实现。下面就分别对其中具有代表性的有名互斥量和全局共享变量这两种方法进行介绍:
上面这段代码演示了有名互斥量在进程互斥中的用法。代码的核心是CreateMutex()对有名互斥量的创建。CreateMutex()函数可用来创建一个有名或无名的互斥量对象,其函数原型为:
如果函数成功执行,将返回一个互斥量对象的句柄。如果在CreateMutex()执行前已经存在有相同名字的互斥量,函数将返回这个已经存在互斥量的句柄,并且可以通过GetLastError()得到错误代码ERROR_ALREADY_EXIST。可见,通过对错误代码ERROR_ALREADY_EXIST的检测可以实现CreateMutex()对进程的互斥。
建立互斥体,用来同步。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。
参数
lpMutexAttributes
指向一个SECURITY_ATTRIBUTES结构的指针,这个结构决定互斥体句柄是否被子进程继承。
bInitialOwner
布尔类型,决定互斥体的创建者是否为拥有者
lpName
指向互斥体名字字符串的指针。互斥体可以有名字。
互斥体的好处是可以在进程间共享
心得体会:
CreateMutex() 用于有独占要求的程序 (在其进程运行期间不允许其他使用此端口设备的程序运行,或不允许同名程序运行)。如有同名程序运行,则通过 GetLastError()得到错误代码 ERROR_ALREADY_EXIST。
刚才又执行了下得出的结果(程序名samp)
一般情况下:一进入调试阶段,进程管理器中就出现了samp进程,执行到CreateMutex时返回进程句柄,执行到if(GetLastError() == ERROR_ALREADY_EXISTS ) 进行判断时,跳过不执行if中的内容,所以表示没有互斥。
调试之前先运行debug中的samp.exe再调试:一进入调试阶段,进程管理器中就出现了两个samp进程,执行到CreateMutex时返回进程句柄,执行到if(GetLastError() == ERROR_ALREADY_EXISTS ) 进行判断时,执行if中的内容,表示有互斥。
声明:以下教程是从网上copy下来的,权当给自己留一份记录,经测试,可用。
--------------------- 本文来自 feichangfriend 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/feichangfriend/article/details/9140981?utm_source=copy
以前曾经安装过FastReport数据报表控件,觉得功能不错。现在发现网上已经有4以上的版本下载使用。于是从CCRUN上下载了FastReport V4.7.9进行安装,在下载后发现安装复杂了些,比FastReprot 2.41的版本比较没有自动安装,需要手动编译各部件。于是将安装心得记录给有需要的朋友参考。
一、 卸载旧版本
如果以前未安装过FastReport可以直接跳到下一步。如果安装过以前版本的FastReport在工具栏上会看到FastReport和FR Tools两个选项栏。首先我们要把先前的版本卸载。

打开BCB的菜单"Project"->Option。然后在Packages的标签栏项目下,找到FastReport的所有部件,如下图的FastReport2.4 ADO Components 和 FastReport 2.4 Components。分别点击它们然后点地击“Remove”按钮逐个删除。卸载完成后返回,工具栏上面的FastReport和FR Tools两个选项栏也同时被清除。

二、设定安装目录
选择一个目录进行安装,现在以D:/cb6_control目录为例,将下载的FastReport V4.7.9解压到此目录。

三、生成安装链接文件
1. 执行recomplie文件,执行文件前请先将BCB6退出。否则程序文件出现提示并不能继续安装。
2. 程序运行后出现提示,主要是目录读写权限、C++Builder是否运行、是否有其它程序运行FastReport的部件包,点击“Continue”。

3. 进入到程序界面,选择相应的参数项。
第一项“1. Select the complier”选择程序,选择C++Builer 6。
第二项“2. Select the FastReport version”选择安装FastReport的版本,选择Enterprise。
第三项“3. Select the TeeChart version”,如果不知道的情况下请选择TeeChartStd。
第四项“4.What you want to do”,把“Choose Language to”的选择改为“Chinese”中文版。
完成后点击“Complier”,然后程序将FastReport安装所需要的文件生成到"LibBCB6"目录下。

3. 进入安装目录的/Res/Chinese,执行mk.bat文件生成中文菜单XML文件。并将文件复制到安装目录下的Source目录里面。注意一定要执行这个步聚,否则安装后的FastReport菜单的中文为乱码。
四、编译部件
1. 将刚才生成的LibBCB6的所有文件复制到Source目录下。
2.启动BCB。
3.将Source目录下的文件frx.inc复制到FastQB目录下。
4.编译基本部件,用BCB打开及编译以下部件。
打开FastQB目录下的fqb60.bpk,然后Complie.
打开FastScript目录下的fs6.bpk,然后Complie,编译完成后Install安装.
打开FastScript目录下的fsDB6.bpk,然后Complie,编译完成后Install安装..
打开FastScript目录下的FsADO6.bpk,然后Complie,编译完成后Install安装.
打开FastScript目录下的FsBDE6.bpk,然后Complie,编译完成后Install安装.
5.安装控件。
将LibD10目录下的所有pas文件复制到Source目录。
将Source目录下的所有pas文件复制到C++Builder安装目录的Lib/Release目录里面。
将FastScript目录下的所有pas文件复制到C++Builder安装目录的Lib/Release目录里面。
1) 用BCB打开source目录下的frx6.bpk,然后Complie,编译完成后Install安装。
2) 用BCB打开source目录下的frxDB6.bpk,然后Complie,编译完成后Install安装。
3) 用BCB打开source/ExportPack目录下的frex6.bpk,然后Complie,编译完成后Install安装。
4) 用BCB打开source/Ado目录下的frxADO6.bpk,然后Complie,编译完成后Install安装。
5 用BCB打开source/BDE目录下的frxBDE6.bpk,然后Complie,编译完成后Install安装。(可选安装)
6) 用BCB打开source/DBX目录下的frxDBX6.bpk,然后Complie,编译完成后Install安装。(可选安装)
7) 用BCB打开source目录下的frxTee6.bpk,然后Complie,编译完成后Install安装。(Chart,可选安装)
6.完成以上安装后,BCB的工具栏出现FastReport 4.0 和FR4 tools的标签栏。

五、指定头文件和链接库的目录
1. 点击BCB菜单“Project”->“Options”,选择“Directories/Conditionals”的标签栏。

2. 点击“Include Path”的目录选择按钮“...”,弹出界面后点击“...”选择头文件的目录,即Source目录,本例的路径为“D:/cb6_control/gastReport.v4.7.9/Source”,然后点击“Add”按钮。

3. 按照同样的方法将“Source”目录添加到“Libary Path”链接库选项。
4.点击选择左下角的Default,然后点击“OK”。

5.重新启动BCB,FastReport4正式安装完毕。

BCB6默认保存项目选项defalut打钩,以后每个新建工程都一样

电线是由一根或几根柔软的导线组成,外面包以轻软的护层;电缆是由一根或几根绝缘包导线组成,外面再包以金属或橡皮制的坚韧外层。 电缆与电线一般都由芯线、绝缘包皮和保护外皮三个组成部分组成。 常用电缆的特性如下: CEF--乙丙橡胶绝缘氯丁橡胶护套,船用阻燃电力电缆。 CVV--聚氯乙烯绝缘,聚氯乙烯护套船用阻燃电力电缆。 氧舱电线常采用BV,BX,RV,RVV系列电线,其中: BV--铜芯聚氯乙烯绝缘电线,长期允许温度65℃,最低温度-15℃,工作电压交流500V,直流1000V,固定敷设于室内、外,可明敷也可暗敷。 BX--铜芯橡皮绝缘线,最高使用温度65℃,敷于室内。 RV--聚氯乙烯绝缘单芯软线,最高使用温度65℃,最低使用温度-15℃,工作电压交流250V,直流500V,用作仪器和设备的内部接线。 RVV--铜芯聚氯乙烯绝缘和护套软电线,允许长期工作温度105℃,工作电压交流500V,直流1000V,用于潮湿,机械防护要求高,经常移动和弯曲的场合。 其实,“电线”和“电缆”并没有严格的界限。通常将芯数少、产品直径小、结构简单的产品称为电线,没有绝缘的称为裸电线,其他的称为电缆;导体截面积较大的(大于6平方毫米)称为大电线,较小的(小于或等于6平方毫米)称为小电线,绝缘电线又称为布电线 这样说比较简单,容易理解!! 电缆一般有2层以上的绝缘,多数是多芯结构,绕在电缆盘上,长度一般大于100米。电线一般是单层绝缘,单芯,100米一卷,无线盘。 电缆常见型号: VV表示:聚氯乙烯绝缘(第一个V),聚氯乙烯护套(第二个V) YJV22表示:交连聚氯乙烯绝缘(YJ),聚氯乙烯护套(V),钢带凯装(22) 型号加“ZR”或“FR”的为阻燃电缆(电线)。加“L”为铝线 电线的型号较简单: BVV--聚氯乙烯绝缘和护套铜心线, BV--聚氯乙烯绝缘铜心线, BVR--聚氯乙烯绝缘铜心软线, BX--橡皮绝缘铜心线, RHF--氯丁橡套铜心软线。
RV是电线型号。
应用:
RV电缆线在工业配电领域有着广泛的应用,尤其适合要求较为严格的柔性安装场所,如电控柜,配电箱及各种低压电气设备,可用于电力,电气控制信号及开关信号的传输。RV电线电缆采用软结构的设计,导体弯曲半径较小,且适用于潮湿多油的安装场所。同时,RV电缆线在获得了CCC及CE标志的认证,符合HD(欧盟统一协调标准)的要求,不仅可以适用于中国市场,也适用于欧洲市场。
RV电缆线的标准截面积有0.30,0.50、0.75、1.0、1.5、2.5、4.0、6.0、10.0、16.0、25.0、35.0、50.0、70.0mm2。
从专业的角度说:RV是GB/T5023-2008的范畴,而BVR是JB/T8734-1999的范畴。
主要区别有:1.导体结构不一样,RV的导体细,根数要多些。
2.电压等级不一样,一般的BVR的电压等级要高。
3.绝缘厚度也不一样,BVR绝缘要厚点。
4.用途也不一样,RV主要用于家用电器连接线,BVR主要用于电机、配电柜等地方
希望我的回答给你带去帮助!!!
向后兼容(Backwards compatibility),又称向下兼容(Downward Compatible)是一个以部件标准为基础的性能要求,是它最新的标准规范。向后兼容的组件既要符合其所属分类的性能要求,同时也要符合低于其分类的所有性能要求。比如USB 2.0规范是可以向后兼容版本更低的USB 1.1标准的。
向前兼容(Forward compatibility),又称向上兼容(Upward Compatible),与向后兼容(向下兼容)相对。即旧版本能够适应新版本的应用。