Страница 1 из 1

Pocket ASP+XML. Проблемы ограничений

Добавлено: 01 июн 2008, 13:12
patrick
НА PC+IE6 такие Приложения идут без проблем и ошибки сообшаются как на уровне ASP, так и броузера. Однако все с точностью до наоборот происходит на КПК и это основная проблема при переносе Приложения с PC на КПК! Вот лишь часть заметных ограничений КПК:
  • отсутствие UPDATE в Pocket PC, не более 4-х ключевых полей в индексе таблицы, крайние ограничения связывания полей в многотабличных запросах, отсутствие OUTER JOIN. Потому используем rs=Server.CreateObject("ADODB.Recordset") и спец. приемы
  • Из набора средств XML IE WM5 поддерживает порядка 80%, а WM2003 около 20%. Так WN2003 не поддерживает XSL-запросы
  • Оператор Load либо НЕ работает, либо отсутствуют средства синронизации загрузки XML. Придется XML грузить в составе HTML с использованием конструкции try...catch и таймера для синхронизации этой загрузки с загрузкой прочих ASP-HTML в др.фреймы frameset
  • Часть корректно исполняемых в статически подготавливаемой HTML-странице (javascript, *.htm) методов отказывает в генерируемой ASP (*.asp) странице
  • К-во фреймов frameset на КПК НЕ превышает 10!
  • Перезагрузка фрейма из вложенного вложенного в него frameset обычно НЕ происходит с зависанием Приложения и броузера
  • в повторно динамически (DHTML) генерируемой конструкции HTML обращения к процедурам Javascript перестают работать без каких-либо сообщений об ошибках. Иногда спасает включение этих обращений (вызовы процедур) в констукцию eval("<вызов procedure>")
  • При смене содержимого фрейма и последующем его восстановлении доступ из др.фреймов к объектам (формы, id) восстановленного фрейма теряется и восстанавливается лишь при повторном обращении с некоторой задержкой (50-100 ms). Однако первое обращение приводит к прерыванию программы модуля
  • По возможности даты определяйте как тип Int или varchar(8) в виде 'ГГГГММДД', что позволит Вам избежать отличий ASP IIS PC и Pocket PC в определении дат (DateTime) в опции WHERE SQL-запроса. Наконец, это сократит код таблиц и увеличит быстродействие SQL-запросов
  • Генерируемый и корректируемый в диалоге с пользователем динамически innerHTML для обработки ПК (Pocket) вернет Вам для последующей обработки в исходном виде, однако IE6-7 PC дополнительно окажет медвежью услугу: дополнит этот код опущенными Вами тегами, например, TBODY и переведет его в верхний регистр с доп.кодами форматирования (Tab, LF и др.)
Следовательно при разработке Приложения нужно иметь точный и внушительный реестр этих ограничений, а главное, приемов их преодоления