Главная страница
    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.47 MB
Время: 0.052 c
14-1122888356
ocean
2005-08-01 13:25
2005.08.21
Старый шрифт


1-1122557134
syte_ser78
2005-07-28 17:25
2005.08.21
Рекурсивная распаковка многоуровневого архива с сохранением древи


14-1122759174
Alexander Panov
2005-07-31 01:32
2005.08.21
Небольшая статистическая выборка из базы.


11-1105702122
Ajax
2005-01-14 14:28
2005.08.21
Работа с потоками


11-1105541859
Help
2005-01-12 17:57
2005.08.21
Есть аналог Form1.Activate?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский