Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
ВнизДоступ к форме Owner-у Найти похожие ветки
← →
ИгорьК (2002-10-31 15:07) [0]Почему такой код работает:
...
var nb: integer;
begin
nb:=(Owner.FindComponent("qrPred") as TADOQuery).FieldByName("N_BASE").AsInteger;
qrUpdPred.Parameters.ParamValues["N_BASE"]:=nb;
end;
а такой говорит - "нарушение прав доступа":
...
begin
Parameters.ParamValues["N_BASE"]:=(Owner.FindComponent("qrPred") as TADOQuery).FieldByName("N_BASE").AsInteger;
end;
← →
asmith (2002-10-31 16:15) [1]Поскольку оба примера не совсем эквивалентны (в первом случае присвоение идет qrUpdPred.Parameters.ParamValues["N_BASE"], а во втором Parameters.ParamValues["N_BASE"]), то, видимо, во втором случае имеется оператор with, который все и путает.
← →
Владислав (2002-10-31 16:28) [2]Этот вопрос почти философский!
Ответь на следующие вопросы.
1. Что произойдет, если Owner = nil?
2. Что произойдет, если не существует компонент с именем "qrPred"?
3. Что произойдет, если компонент с именем "qrPred" не является TADOQuery или его наследником?
4. Что произойдет, если у объекта (Owner.FindComponent("qrPred") as TADOQuery) нет поля с именем "N_BASE"?
Часть ответов на мои вопросы - это ответы на твои вопросы. Другая часть - это ответы на твои возможные в будущем вопросы.
← →
ИгорьК (2002-10-31 17:39) [3]Все на что я ссылаюсь - существует, ни каких "если" не может быть.
← →
Владислав (2002-10-31 18:17) [4]Тебе видней...
Значит твое "нарушение прав доступа" возникает просто так. Напиши в техподдержку мелкософта...
← →
Zemal (2002-10-31 19:00) [5]Мне кажется всё дело в этом AsInteger... используй Value, пример:
begin
Parameters.ParamValues["N_BASE"]:=(Owner.FindComponent("qrPred") as TADOQuery).FieldByName("N_BASE").Value;
end;
Или попробуй поставить у параметра в свойствах, что он Integer... наверняка у тебя там стоит Unknown.
Или попробуй ...ParamByName("N_BASE").Values, чем чёрт не шутит :), может заработает :).
Вообще это может быть из-за того же WITH... ведь Owner может быть разный для разных компонентов :), учти это :).
← →
Zemal (2002-10-31 19:02) [6]Кстати, нажми на своём Owner комбинацию Ctrl+Space и посмотри как он там описан... тип у него TForm? гы-гы :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c