Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.042 c
14-1122644916
Nick Denry
2005-07-29 17:48
2005.08.21
Народ, а как правильно создать


6-1115721192
juice
2005-05-10 14:33
2005.08.21
TNMSMTP и кодировка


9-1111050921
cyborg
2005-03-17 12:15
2005.08.21
Dune 2


14-1122832112
teapot
2005-07-31 21:48
2005.08.21
microsoft IE


14-1122443534
Layner
2005-07-27 09:52
2005.08.21
Можно ли в среде D7 показывать строки