|
|
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Только не Form_frmForm, а Forms!frmForm. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:03 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Точно, не подумал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:08 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Маленькая поправочка. синтаксис Func Me вполне легитимен, так как в этом случае Ме выступает синонимом Forms!frmForm, а вот внутри функции ( если она определена вне формы), Ме уже не доступен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:16 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
да работает все - и точка и "екскламэйшен марк". все таки понять невозможно О ЧЕМ спрашивают, закипая. может че другое не работает или перестает...? ЗЫ1 передача объектных переменных - шибко тонкая и, кстати, плохо донесенная до шикорой общественности вещь. Важно понимать, где оно попадает по ссылке, а где по значению - иначе легко назакрытый объект оставить. ЗЫ2 применительно к формам (объектам акксесс) - дважды тонкая. (тут я как-то "наблюл" в местном форуме). Вывод не окончательный, но, похоже, передача по ссылке с последующим манипулированием свойствами контролов,приводит к переходу в режим "контроля доступа". Передача по значению как будто проходит безбедно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:25 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
ох ты, я увидел, что он хочет в функции - он там Me хочет... Какая радость, что его там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:29 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
2 Victosha Да тут и без таких тонкостей все ясно. Товарищ просто не понимает разницу между глобальными и локальными переменными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:32 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Точнее: между формальными и фактическими параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:34 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Ну, вот так бы сразу я не стал... но, ясно, что человек либо поленился F1 нажать, либо не понял вот этого (вырезка из хелп на ошибку) Invalid use of Me keyword The Me keyword can appear in class modules. This error has the following causes and solutions: The Me keyword appeared in a standard module. The Me keyword can't appear in a standard module because a standard module doesn't represent an object. If you copied the code in question from a class module, you have to replace the Me keyword with the specific object or form name to preserve the original reference. The Me keyword appeared on the left side of a Set assignment, for example: Set Me = MyObject ' Causes "Invalid use of Me keyword" message. Remove the Set assignment. Note The Me keyword can appear on the left side of a Let assignment, in which case the default property of the object represented by Me is set. For example: Let Me = MyObject ' Valid assignment with explicit Let. Me = MyObject ' Valid assignment with implicit Let. For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:42 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Не думаю, что он получил именно эту ошибку. Эта ошибка возникает все-таки внутри зоны видимости Me. А он пытался писать Me вне этой зоны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:48 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Я не прав. Первая треть этого хелпа - это действительно оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 01:50 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Ну, Саныч, ты порой блокируешься,как впрочем и многие, да НЕ ПЫТАЛСЯ Я ПИСАТЬ Me ВНУТРИ ЗОНЫ ВИДИМОСТИ - ПОСМОТРИ НАЧАЛО Private Sub Ввод_Click() - это функция формы!!! Я не понимаю, что не понятно . Скажите, только если Me - это ссылка на объект, почему его я не могу передать в любое место и работать с этим объектом (ну разумеется через другую локальную переменную функции в любом месте приложения) Да и вообще работает же все, только - синтаксис не тот!!! См. внимательно первый мой пост!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:13 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Так. Всё. Рассказывай все с самого начала. Потому что на все наши попытки что-то понять ты отвечаешь, что мы понимаем неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:18 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Да , еще, я думаю разница в синтаксисе из-за того, что передавая Me в функцию я передаю не ссылку на объект Me, а его default'ное свойство Во !!! Хотя я еще толком не поня, что такое Me для формы, и что пойдет как его default'ное свойство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:18 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Обьект передать можешь куда хочешь, а ссылку Ме можешь использовать только в пределах самого обьекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:19 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Ме для формы это ссылка на ДАННУЮ форму, поэтому МЕ будет работать ТОЛьКО в пределах модуля ДАННОЙ формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:23 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
И в третьих, у Ме нет свойства по умолчанию. Ме означает ссылку на данный обьект или же на его свойства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:29 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
Ну, все - все с ума посходили, читайте,хоть что пишу - не использую я ссылку Me за пределами формы А теперь, внимание, правильный объект, точнее его продолжение - смотрим, что такое Default'ное свойство у объекта Form, на который Me собстно говоря и указывает и видим, что это Controls, у которого разумеется не может быть того, что я хотел в функции ( My.Requery или My.Form!Поле1 ) Не путайте, где у меня My, где Me ! и разумеется надо в функции использовать f=My!Поле1 My.Parent.Form.Requery Так, теперь еще остается понять - почему я передаю описанным образом (т.е самым, что ни на есть обыкновенным ) Default' ное свойство объекта, а не сам объект, Т.е. как передать в функцию САМ объект , а не его свойство по умолчанию, (ну это уже любопытство проглядывает.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:32 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
блин, "правильный объект" надо понимать как "правильный ответ" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:34 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
2 EDUDK01 И в третьих, у Ме нет свойства по умолчанию. Ме означает ссылку на данный обьект или же на его свойства. > Значит оно ТАК РАБОТАЕТ - при передаче параметра в функцию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:35 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
-) для меня тоже оказалось небесполезно перечитать его, тем более, что про Me=anotherObject, я, похоже, просто не знал (то есть, что Set не нужен). Между прочим, это практичеки ответ на его вопрос ПОЧЕМУ им () нельзя пользоваться в обычных модулях. Который я теперь и готов дать в общем виде с комментарием. -------------------------------------------------------------------------- Ответ Разрешение использования Me в "обычных" модулях VB(A) с точки зрения управления исполнением кода является прямой дорогой к саморазрушающемуся коду (программе). Соображения безопасности в этом случае менее важны, но синтаксическая реализация такой возможности открывает дверь для "безопасной" подмены кода. Есть ли больший подарок для "вирусописателей" в условиях единства адресного простанства? ----------------------------------------------------- Комментарий Использование модулей при создании VB DLL, ( а также в "надстройках" mda) приводит к выводу, что "обычный" модуль - это класс специального типа, имеющий единственный инстанс. Собственно, почему бы и не быть у него Me, раз указатель на него (модуль) все равно как указатель на класс работает. Возможность такого переуказания безопасна для объектов одного класса, по причине а) общности б) единственности модуля кода для такого класса. Экземляр класса "обычного" модуля и так существует в единственном виде - ему просто не на кого безопасно переуказаться. Разрешение использования Me в "обычных" модулях, означает фактичекое переуказание на ЛЮБОЙ другой модуль с другим кодом, что и есть вероятность (то есть почти полная достоверность) краха для "нормальной" программы, и "встроенная по синтаксису" дорога для вирусописателей. --------------------- вот ТАКОЙ комментарий -) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:36 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
yuniki, ты зачем все время повторял, что с объектом My все работает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:37 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
написал, почитал, и оказался вдвойне счастлив, от того, что его (Me) там (в обычных модулях) нет ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:38 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч > Ну так объяснить пытался , вроде бы простую весчь, ну ты с моим объяснением согласен (если наконец понял ,о чем я ) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:42 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
ну вы и настрочили, пока я тут изощрялся. Честно говоря, совсем грустно стало пытаться понять, о чем человек спрашивает.... ЗЫ Пойду велосипед с балкона снимать - сегодня сезон открываю. Пока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:46 |
|
||
|
Различие обращений к объектам в форме и в модуле
|
|||
|---|---|---|---|
|
#18+
И понял, и согласен. Но это ж надо было так путано объяснять... Если б я один не понял, то был бы я тупой. Но ведь никто не понял! Показываю, как надо было задавать вопрос. Передаю Me как параметр из формы в процедуру. И в этой процедуре с этим параметром не работает то, что работало с Me в модуле формы. И дальше хотя бы один пример того, что не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 02:46 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32476662&tid=1675419]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
196ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 538ms |

| 0 / 0 |
