Я обновил Indy9 до Indy10 в Delphi7. Мне потребовалось некоторое время, чтобы изменить все части с TCP-серверами и клиентами, но, похоже, теперь все работает хорошо.
Теперь я заметил, что одна часть все еще не работает, и это компонент idHTTPserver.
Веб-страница нашего приложения использует библиотеку mootools. С Indy9 idHTTPserver он работает отлично, однако Indy10 делает что-то, из-за чего браузеры не могут отображать страницу.
Помимо некоторых других ошибок, есть такая бессмысленная ошибка, как (вывод консоли Firefox Error):
Timestamp: 2013.08.07 13:13:56
Error: SyntaxError: missing ] after element list
Source File: http://192.168.100.2:8780/lib/ui/core/mootools-1.2.4-more-yc.js
Line: 103, Column: 60
Source Code:
unction(){var b=["C?","C ","C","C?","C,","C¢","Cƒ","C£","C"","C¤","C.","C?","Ä,","ă","Ä"","Ä.","Ä?","Ä?","ÄŒ","Ĩ","C?
-------------------------------------------------------------^
Фактический исходный код внутри этого .js:
long long text ....... function(){var b=["C?","C ","C","C?","C,","C¢","Cƒ","C£","C"","C¤","C.","C?","Ä,","ă","Ä"","Ä.","Ä?","Ä?","ÄŒ","Ĩ","C?","C§","Ä?","ĸ","Ä","Ä'","Cˆ","CØ","C?","C©","CŠ","CR","C<","C«","Äš","Ä>","Ę","ÄT","Ä?","ÄŸ","CŒ","C¬","C¨","C","C?","C®","C¸","CÆ","Ĺ","Är","Ľ","ľ","Å","Å,","C'","C±","Å?","ň","Ń","Å"","C'","C²","C"","C³","C"","C´","C.","Cµ","C-","C¶","C˜","Cø","Å'","Ř","ÅT","Å"","Å.","Å ","Å?","Å?","ÅŸ","Åš","Å>","Ť","Å?","Ť","Å?","Å¢","Å£","CT","C¹","Cš","Cr","C>","C»","Cœ","C¼","Å®","ÅÆ","Åø","Cæ","C½","C¯","Ž","ž","Ź","År","Å»","ż","C?","C¾","C","C°","CŸ","Å'","Å"","C?","C¦","Aµ"]; ................ long long text
Что здесь происходит?
Я глубоко вздохнул и подумал, эй, я мог бы просто использовать старую версию idHTTPserver, так как у меня все еще есть исходные файлы Indy9 в другой папке. Если никто не знает, как исправить HTTP-сервер indy10, может кто-нибудь сказать мне, как мне использовать старую версию? Просто компонент HTTP-сервера (который наверняка связан с десятками других старых инди-файлов).
Я попытался включить старые исходники, но это становилось беспорядком, потому что он использовал idHTTPserver.pas из старой версии, но idCustomHTTPserver.pas (это то, что происходит после того, как я следую использованию файла idHTTPserver.pas) из новой версии ...
"C""
. Именно на это указывает Firefox. Я бы подумал, что первый"
завершает строковый литерал, и, поскольку после него нет,
или]
, массив искажен. Так что первый"
нужно будет экранировать. То же самое с"Ä""
и"Å""
. - person Remy Lebeau   schedule 07.08.2013