我用 Delphi XE2 构建了一个 DataSnap 服务器,它实现了TDSHTTPService
. 当入站请求进来时,TIdIOHandler.InitComponent
在线程中调用,然后将执行交给 in 调用的方法TServerMethods
。我在服务器中没有任何 Indy 组件,因此 DataSnap 在后台使用 Indy 10。
.InitComponent()
将 IO 处理程序的最大行长度设置为硬编码值 ( FMaxLineLength := IdMaxLineLengthDefault;
),即16384。我找不到增加价值的方法。我什至尝试将IdIOHandler 单元复制到项目文件夹并更改常量值。但它仍然会从 Indy 10 构建中获取IdIOHandler.dcu,并忽略我的项目文件夹中复制的文件。我还尝试向TIdIOHandlerStream
服务器项目添加一个组件并将其设置MaxLineLength
为无济于事。
- 计划 A =正确设置
MaxLineLength
DataSnap 服务器中的值。 - 计划 B = 以某种方式将修改后的
IdIOHandler.pas
文件编译到我的项目中。
这些都可能吗?我已经为此工作了几个小时,在我的所有搜索中都找不到类似的东西,而且似乎无法通过实验取得任何进展。