Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.024 c
4-1120122127
Никита
2005-06-30 13:02
2005.08.21
Как получить список всех дисков?


3-1121239183
cvg
2005-07-13 11:19
2005.08.21
Почему может быть не найдено поле?


4-1119339646
ANB
2005-06-21 11:40
2005.08.21
Что передать в качестве окна для SetForegroundWindow ?


3-1121238833
_Anton
2005-07-13 11:13
2005.08.21
BDE Oracle Blob


3-1121155046
Ricko
2005-07-12 11:57
2005.08.21
цветной DBGrid




   Наверх