Вниз
Скачать: CL | DM;

Доступ к форме 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-33882
NeyroSpace
2002-10-22 16:14
2002.11.11
HELP! Никак не вставить в BLOB поле!


3-33875
Dr. Well
2002-10-21 18:04
2002.11.11
Тип $Money


1-33945
Tornado
2002-11-01 08:05
2002.11.11
RadioGroup


3-33904
Zloy
2002-10-22 02:47
2002.11.11
Приветствую!!! Полное Сохранение таблицы Парадокс на диск


14-34239
Polevi
2002-10-23 16:34
2002.11.11
http://www.yandex.ru/yandsearch?text=DS+J%7BETKB%3F+NJDFHBO+




   Наверх