Главная страница
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.037 c
15-1169247208
Shumer
2007-01-20 01:53
2007.02.18
протокол ModBus


15-1169783659
Slider007
2007-01-26 06:54
2007.02.18
С днем рождения ! 26 января


11-1148388361
Виталий(гость)
2006-05-23 16:46
2007.02.18
Не могу обратиться к свойству Caption


2-1170270359
Bagos
2007-01-31 22:05
2007.02.18
beep при OnKeyDown


2-1170149118
myaucher
2007-01-30 12:25
2007.02.18
Использование Data Module