Я создал сервер DataSnap с Delphi XE2, который реализует TDSHTTPService
. Когда приходит входящий запрос, TIdIOHandler.InitComponent
вызывается в потоке до того, как выполнение будет передано методу, вызванному в TServerMethods
. У меня нет компонентов Indy на сервере, поэтому DataSnap использует Indy 10 под капотом.
.InitComponent()
задает для максимальной длины строки обработчика ввода-вывода жестко запрограммированное значение (FMaxLineLength := IdMaxLineLengthDefault;
), равное 16384. Я не могу найти способ увеличить значение. Я даже пытался скопировать IdIOHandler Unit в папку проекта и изменить постоянное значение. Но он по-прежнему подбирает IdIOHandler.dcu из сборки Indy 10 и игнорирует скопированный файл в папке моего проекта. Я также пытался добавить компонент TIdIOHandlerStream
в серверный проект и установить его MaxLineLength
безрезультатно.
- План A = Правильно установите значение
MaxLineLength
на сервере DataSnap. - План Б = Каким-то образом скомпилировать модифицированный файл
IdIOHandler.pas
в мой проект.
Возможны ли какие-либо из них? Я работаю над этим часами и не могу найти ничего похожего во всех своих поисках, и, похоже, не могу добиться каких-либо успехов, экспериментируя.