Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何安装DWSSCcript_Delphi_Delphi Xe2_Dwscript - Fatal编程技术网

Delphi 如何安装DWSSCcript

Delphi 如何安装DWSSCcript,delphi,delphi-xe2,dwscript,Delphi,Delphi Xe2,Dwscript,安装DWSSCcript组件时遇到问题。我使用的是Delphi XE2,当我试图编译dwsLibRuntime.dpk时,我得到一个错误(需要数组类型)。我使用的是从项目的svn repo中提取的最新DWScript源代码 我做错了什么 toStr:=TStringListCracker(sl).FList[i].FString; //produces error System.MonitorExit(sl); 首先,请确保从下载了最新版本,因为DWScript 2.3预览版1现在可用 然

安装DWSSCcript组件时遇到问题。我使用的是Delphi XE2,当我试图编译dwsLibRuntime.dpk时,我得到一个错误(需要数组类型)。我使用的是从项目的svn repo中提取的最新DWScript源代码

我做错了什么

 toStr:=TStringListCracker(sl).FList[i].FString; //produces error
 System.MonitorExit(sl);

首先,请确保从下载了最新版本,因为DWScript 2.3预览版1现在可用

然后您必须注意到,每天都会对DWScript进行更改,因此请检查错误的位置(在哪个单元中),然后转到以获取最新的单元


就我个人而言,这件事发生在我身上,在我修复了一些更改后,它工作得很好。

您没有使用最新版本,监视器不再使用(由于RTL实现中存在争用错误),第二行应该是“sl.FLock.Leave;”。 您可能使用的是Delphi XE2之前的版本,因为该显示器在2011年2月被丢弃


确保您位于head/trunk上,否则Delphi不会指向与SVN客户端更新的目录不同的目录。

@DavidHeffernan我提到我正在使用Delphi xe 2;)在这种情况下我能做什么?是的,我有最后一个版本…你确定你是用XE2编译的吗?我可以看出,
TStringList
的实现已经发生了变化(当然是在2010年和XE2之间),这可以解释这个错误。作为一个完整的旁白,有没有人知道为什么这段代码觉得有必要翻阅
TStringList
的私有实现细节?@David:这是一个速度优化,它从一个关键部分删除一个复杂调用、一个范围检查、一个UStrAsg和伴随的总线锁,以及UnifyAssignString中的一个隐式异常帧(用于保护Get的返回值),并减少UnifyAssignString中的寄存器压力。加速比在单线程情况下只有几个百分点,在一些多线程情况下可以达到20-30%。只需在CPU视图中查看cracker hack和“toStr:=sl[i]”变体之间的代码。您还可以使用SVN客户端(内置于Delphi或Tortoise SVN中的客户端)来保持文件的最新。是否有指向DWS安装指南的链接?我不知道如何编译HTTP.sys服务器。如何配置IDE以编译DWS项目?