Главная страница
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.047 c
8-1112079276
VIS
2005-03-29 10:54
2005.08.21
tuner


1-1123134256
TerminalHead
2005-08-04 09:44
2005.08.21
Горячие клавишы


14-1122443778
vidiv
2005-07-27 09:56
2005.08.21
Настройка DNS сервера


1-1122930722
Asteroid
2005-08-02 01:12
2005.08.21
Крыша едет с динмаическими массивами...


4-1119772697
Storm
2005-06-26 11:58
2005.08.21
Перехват обращения к файлу или папке