Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.085 c
15-1169657987
Rouse_
2007-01-24 19:59
2007.02.18
Мини ММП в пятницу


3-1164605686
Kvinta
2006-11-27 08:34
2007.02.18
DBGrid. Запомнить позицию.


3-1164392007
Anton1986
2006-11-24 21:13
2007.02.18
RequestLive


2-1170281370
Pasha L
2007-02-01 01:09
2007.02.18
прочитать ответ GETа (tidtcpclient)


15-1170069252
Ломброзо
2007-01-29 14:14
2007.02.18
Свобода слова





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский