Что означает точка (точка) перед названием объекта?

Я конвертирую приложение Foxpro 7, и примерно в 200 местах кода я вижу утверждение, в котором говорится:

LOCAL LcAlias as string

LcAlias = .LcAlias && This is the line in question

SELECT(LcAlias)

Я не знаю, что представляет собой .LcAlias, на что указывает точка (точка) и как она заполняется. Я выполнил полный поиск всех читаемых объектов в каталоге проекта, но я просто не могу определить, как .LcAlias ​​заполняется данными. Единственное, что мне удалось найти в сети, — это ссылку на предыдущий блок WITH, но приведенный выше код находится в самом верху кодовой страницы и не содержится в блоке WITH.

Если у кого-нибудь есть ключ к этому вечному Foxpro n00b, я был бы очень признателен.

Спасибо!


person GunnerFan420    schedule 05.11.2020    source источник


Ответы (1)


Почти наверняка где-то перед этим кодом есть такая строка:

WITH SomethingOrOther

и где-то под ним:

ENDWITH

Это означает, что .lcAlias ​​здесь — это SomethingOrOther.lcAlias.

person Tamar E. Granor    schedule 05.11.2020
comment
Размещенный код находится в верхней части кодовой страницы перед чем-либо еще. Во всей кодовой странице нигде нет WITH. Я не могу гарантировать, что код Foxpro правильный. Я посмотрю на то, что вы сказали. Тем не менее, спасибо, что прочитали и ответили. - person GunnerFan420; 06.11.2020
comment
Хорошо, значит, я был неправ. Моя кодовая страница была лишь частичной, и этот код действительно находится в блоке WITH. Это заставляет меня задать другой вопрос. Приведенный выше код находится внутри такого блока: WITH Thisform (приведенный выше код) ENDWITH. Итак, моя проблема, принимая во внимание, что .lcalias на самом деле является thisform.lcalias, заключается в том, что в этой форме нет объекта с именем lcalias. Я посмотрел на все объекты без везения. Если это какая-то переменная уровня формы, я не могу найти, где она устанавливается. В любом случае, я ничего не ожидаю от этого, но если вы (или кто-либо) можете дать некоторое представление, я был бы очень признателен. Спасибо! - person GunnerFan420; 06.11.2020
comment
@ GunnerFan420, .lcAlias, вероятно, является СОБСТВЕННОСТЬЮ в форме. Посмотрите на лист СВОЙСТВА. lc — это запись значения локализованного символьного типа данных. Также известна как венгерская нотация. Так как VFP слабо относится к типам данных, это помогает тому, кто просматривает код, иметь НЕКОТОРОЕ представление о том, какой тип данных следует ожидать в поле. пример: ln локально-числовой, ll локально-логический и т. д. - person DRapp; 06.11.2020
comment
@DRapp прав. Когда вы видите нотацию Thisform.Something, это говорит вам о том, что Something является свойством или методом формы. (Для метода вы ожидаете скобки после этого.) Тогда вопрос в том, где он устанавливается. Это может быть в листе свойств или в коде формы. - person Tamar E. Granor; 07.11.2020
comment
Спасибо вам обоим за информацию. Я наконец нашел его после поиска целый день. Это действительно было свойство формы. Причина, по которой я его не нашел, заключается в том, что в окне «Свойства» есть большой алфавитный список, в котором отсутствуют lcalias. Что ж, я отредактировал необработанный файл .SCT и увидел, что это свойство. Проблема? После первого списка идет ВТОРОЙ алфавитный список свойств. Поскольку он начинался с буквы L, я никогда не прокручивал его до конца. Так что извините за то, что был ведром, и большое спасибо за помощь в решении моей проблемы. - person GunnerFan420; 10.11.2020
comment
Просто в качестве примечания я понял, почему было два алфавитных списка. Foxpro делает то, чего я не видел за 25 лет работы в сфере технологий. Они учитывают регистр при сортировке по алфавиту. Таким образом, свойства в первом списке начинаются с заглавной буквы (А), а во втором — со строчной (а). Невероятно, но, по крайней мере, тайна раскрыта. - person GunnerFan420; 10.11.2020
comment
Да, мы настаивали на том, чтобы команда VFP изменила сортировку листа свойств, но так и не добились успеха. У текущей сортировки есть одно преимущество: встроенные PEM всегда начинаются с прописных букв, а большинство разработчиков VFP используют строчные буквы для запуска пользовательских PEMS, поэтому они склонны сортировать отдельно. Но я бы предпочел, чтобы они исправили это. - person Tamar E. Granor; 11.11.2020