Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Web-модули, странное поведение шаблона   Найти похожие ветки 

 
Megabyte ©   (2006-12-27 14:54) [0]

Есть 2 события Веб-модуля:
1)Twm_status.WebModule1wai_stateAction - событие самого модуля по вызову действия
2)Twm_status.pp_stateHTMLTag - событие TPageProducer на форматирование нестандартных тегов.

Я получаю с html-формы один параметр, и вывожу в шаблон 4 значения:текущую дату, входной параметр, еще 2  - выборка из базы по параметру.
Вот код методов:

var
 ...
 param_imei : string;
...
procedure Twm_status.WebModule1wai_stateAction(Sender: TObject;
 Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
 param_imei := Request.QueryFields.ValueFromIndex[0];
 Response.Content := pp_state.Content;
end;

procedure Twm_status.pp_stateHTMLTag(Sender: TObject; Tag: TTag;
 const TagString: String; TagParams: TStrings; var ReplaceText: String);
var
br, st : string;
begin
 if TagString = "curdate" then ReplaceText := DateToStr(now);
 fdb_scrp.Connected := true;
 ftr_state.Active := true;
 fdst_state.ParamByName("imei").AsString := param_imei;
 fdst_state.Prepare;
 if TagString = "imei" then ReplaceText := param_imei;
 fdst_state.Active := true;

 br := fdst_state.FieldList.Fields[0].AsString;
{ if (TagString = "brmod") and (fdst_state.FieldList.Fields[0].AsString <> "")
   then ReplaceText := br
 else
   ReplaceText := "null";
 if (TagString = "status") and (fdst_state.FieldList.Fields[1].AsString <> "")
   then ReplaceText := fdst_state.FieldList.Fields[1].AsString
 else
   ReplaceText := "null"; }
end;

1) Если запускать так, с закомментированным кодом, то 2 первых тега форматируются правильно.
Если же раскомментировать, то все теги формируются со значением null.
Это 1-я непонятка.
2) Я не уверен, что происходит выборка правильно в fdst_state
Но это же не должно влиять никак на форматирование остальных тегов???
Отдельно от ВЕБ-модуля уже все 100 раз протестировал, сам запрос работает правильно. Дело может быть в ординарных ковычках: но я уже и с ними пробовал, и без них...
2-я непонятка.


 
Megabyte ©   (2006-12-28 09:17) [1]

Закройте тему, как всегда всему виной невнимательность, по крайней мере по 1-му пункту...


 
Megabyte ©   (2006-12-28 12:16) [2]

Люди.
Такое вот дело.
Если я параметр беру из Request.QueryFields.QueryFields.Values["imei"], то запрос не выдает данные(возвращает пустой набор).
param_imei := {chr(39) +} Request.QueryFields.Values["imei"] {+ chr(39)};
...
fdst_state.ParamByName("imei").AsString := param_imei;

Если я то же значение присваиваю явно параметру, то запрос возвращает нужное значение.
fdst_state.ParamByName("imei").AsString := "352262010494193";

Создал обычное приложение, все проверил, все работает корректно;
Пробовал параметр в ковычках передавать и без(они там закомментированны);
Даже сравнивал длину и значения param_imei и 352262010494193 на предмет лишних пробелов, все норм.

Не понимаю, м.б. глюк какой в Дельфе?



Страницы: 1 вся ветка

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1166801665
Джо
2006-12-22 18:34
2007.02.18
TypeLib Editor, /*Warning: unable to validate structure name: */


15-1170042777
Slider007
2007-01-29 06:52
2007.02.18
С днем рождения ! 29 января


15-1169770019
Германн
2007-01-26 03:06
2007.02.18
Даже великие мастера могут нести чушь :)


2-1170182849
Алексей С.
2007-01-30 21:47
2007.02.18
Как заставить приложение реагировать на Колесико мышки... )


10-1129625958
Артем Кудлаекно
2005-10-18 12:59
2007.02.18
DCOM. Ошибка: Интерфейс не поддерживается.