Текущий архив: 2005.08.21;
Скачать: CL | DM;
Вниз
Странный глюк с видимостью переменной Найти похожие ветки
← →
NickMan (2005-07-30 09:03) [0]Почему я не могу обратится к компонентам ADOTable в теле функции а в теле обработчика нажатия кнопки?
Если обращатся в теле функции то пишет что к примеру переменная ADOTable не определена.
← →
AlexWlad © (2005-07-30 11:08) [1]uses ...
Как вариант передавай в параметре ф-ции
function Foo(MyDS : TCustomADODataSet);
← →
Anatoly Podgoretsky © (2005-07-30 12:10) [2]Ну наверно у тебя ошибка, а в обработчике будет тоже самое, это по сути тоже функция/процедура
← →
NickMan (2005-07-30 12:33) [3]В Uses вроде бы все есть. (у меня один модуль)
В обработчике кнопки все работает. Я вставил свою функцию в обработчик - заработало. Но все равно странно...
← →
DrPass © (2005-07-30 12:35) [4]А писать не просто ADOTable1, а Form1.ADOTable1 пробовал?
← →
Ольга (2005-07-30 12:35) [5]Имя процедуры-обработчика, если вы обратили внимание, начинается так TForm1.тра-ля-ля
Сделайте свою функцию, принадлежащей форме, либо обращайтесь к ADOTable с полным именем TForm1.ADOTable
← →
NickMan (2005-07-30 12:37) [6]Спасибо.
← →
Leonid Troyanovsky © (2005-07-30 12:39) [7]
> DrPass © (30.07.05 12:35) [4]
> А писать не просто ADOTable1, а Form1.ADOTable1 пробовал?
Даже пробывать не надо, бо дурной тон.
--
Regards, LVT.
← →
DrPass © (2005-07-30 12:53) [8]
> Даже пробывать не надо, бо дурной тон
Согласен на 100%. Но автор хочет, и мы не вправе ему запретить :)
← →
Leonid Troyanovsky © (2005-07-30 13:00) [9]
> DrPass © (30.07.05 12:53) [8]
> > Даже пробывать не надо, бо дурной тон
> Согласен на 100%. Но автор хочет, и мы не вправе ему запретить
> :)
Наше дело - предупредить.
--
Regards, LVT.
← →
NickMan (2005-07-30 13:00) [10]> Даже пробывать не надо, бо дурной тон
Согласен на 100%. Но автор хочет, и мы не вправе ему запретить :)
А что не так? With?
← →
Leonid Troyanovsky © (2005-07-30 13:20) [11]
> NickMan (30.07.05 13:00) [10]
> > Даже пробывать не надо, бо дурной тон
> Согласен на 100%. Но автор хочет, и мы не вправе ему запретить
> :)
> А что не так? With?
Использование FormX, как следствие bad design.
Необходимо рефлекторно избегать использования глобальных
переменных. Допустимый набор таких переменных д.б. минимален,
в идеале - Application.
--
Regards, LVT.
← →
sniknik © (2005-07-30 13:43) [12]> А что не так?
к примеру ты решиш использовать эту функцию в onCreate другой формы, а форма это создается раньше той из которой взят в функции ADOTable1, получиш AV... переменная еще не создана. (и это не единственные вариант)
а возможно у тебя это единственная форма, и/или вызываеш ты функцию только из ее же обработчиков, тогда тем более глупо (хотя на ошибку и не нарвешся)... адресоватся от корня уже находясь внутри. проше(и правильнее) тогда функцию внутри класса описать, и адресоватся нормально.
а вообше найди чтонибудь про про ООП (обьектно ориентированное программирование) почитать.
> Но автор хочет, и мы не вправе ему запретить :)
скорее, автор сам не знает чего он хочет. ;о))
← →
Anatoly Podgoretsky © (2005-07-30 13:51) [13]NickMan (30.07.05 12:33) [3]
Сказано же у тебя в программе ошибка, чего еще говорить.
Страницы: 1 вся ветка
Текущий архив: 2005.08.21;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.052 c