|
|
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. При компилляции выдает предупреждение автор[dcc32 Hint] Unit1.pas(23): H2219 Private symbol 'Listener' declared but never used Хотя использование (хотя и неявное, ну для этого и стоит default в описании свойства) в программе есть: Код: pascal 1. 2. 3. Как так? Как избавиться от сообщения компиллятора? Или неправильно что-то в классе? Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 13:06 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
afordХотя использование (хотя и неявное, ну для этого и стоит default в описании свойства) в программе есть Почувствуй разницу между Listener и Listeners. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 13:12 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я могу заменить Listener на qqq - результат будет тем же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 13:32 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
У вас Listener в PRIVATE секции и к нему из кода самого TListeners обращений нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 13:40 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
DimaBr, ну как же это нет, а вот это? Код: pascal 1. Это равнозначно записи вида (т.к. прописано default, см. векторные свойства) Код: pascal 1. Так что все используется... Вот подробнее: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 14:37 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Кстати, с записью авторListeners.Listener[95000].FName проблем нет, а если уберу Listener - все работает, но компиллятор выдает предупреждение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 14:39 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Переместил определение свойства в public - предупреждение пропало. Но все равно не понятно почему так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 14:41 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
aford, ты вообще читаешь, что тебе народ пишет?)))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 14:50 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
afordЭто равнозначно Нет, совсем не равнозначно. Listeners у тебя массив, а не свойство. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 14:54 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
afordDimaBr, ну как же это нет, а вот это? Код: pascal 1. Это равнозначно записи вида (т.к. прописано default, см. векторные свойства) Код: pascal 1. Так что все используется... Вот подробнее: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. свойство Listeners не используется в теле TListeners и находится в ПРИВАТ секции. То что вы используете его ХАКЕРСКИМ способом в том же модуле в другом классе, не говорит о том что делаете правильно. Перенесите TListener в другой модуль и попробуйте достучаться к Listeners из метода формы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:01 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovafordЭто равнозначно Нет, совсем не равнозначно. Listeners у тебя массив, а не свойство. Таки свойство. Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:04 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Listeners - это вообще-то переменная объекта TListeners или объект (как правильно, или переменная на объект, суть ясна в общем). Listener - это свойство, которое пишет и читает поле FListener, которое в свою очередь является массивов записей TListener типа record Запутал вас и себя))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:11 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
aford, это явный баг Delphi. Private член класса не должен быть доступен. Если же private свойство объявлено default, компилятор должен либо выдать error, либо не выдавать такого warning. Ну а конкретно тебе - перенеси свойство из private в public, вот и всё решение "проблемы". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:16 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
DimaBrТо что вы используете его ХАКЕРСКИМ способом в том же модуле в другом классе, не говорит о том что делаете правильно. Перенесите TListener в другой модуль и попробуйте достучаться к Listeners из метода формы Все равно доступен. Это баг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:22 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Фэйтл Эра, я так уже сделал еще после 2-го сообщения в ветке) авторэто явный баг Delphi. Private член класса не должен быть доступен. Почему, в этом же модуле должен быть доступен, или я не дочитался принципов ООП, но спорить тут не стану. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:23 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
14.02.2019 15:16, Фэйтл Эра пишет: > это явный баг Delphi. Private член класса не должен быть доступен. иди азбуку учи. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:25 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
afordПочему, в этом же модуле должен быть доступен, или я не дочитался принципов ООП, но спорить тут не стану. В рамках модуля все доступно. В нарушение всех принципов ООП. Дельфийская тупость, но позволяющая обойти другую топость с запретом циклических ссылок модулей друг на друга. --- Но тут явный баг Delphi: private свойство доступно, если оно default. Как минимум, в D2007. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:27 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
14.02.2019 15:27, Фэйтл Эра пишет: > Дельфийская тупость, но позволяющая обойти другую топость аклинизмы проникли в мозг... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:30 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Фэйтл ЭраВсе равно доступен. Это баг. Это не баг. В справке сказано что в классе может быть лишь одно свойство по умолчанию, и доступ к нему происходит без указания имени свойства. Про расположение свойства в секциях ни слова If a class has a default property, you can access that property with the abbreviation object[index], which is equivalent to object.property[index]. For example, given the declaration above, StringArray.Strings[7] can be abbreviated to StringArray[7]. A class can have only one default property with a given signature (array parameter list), but it is possible to overload the default property. Changing or hiding the default property in descendent classes may lead to unexpected behavior, since the compiler always binds to properties statically. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:31 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
DimaBr, не согласен. А если ты и прав, то, значит, баг в том, что ворнинг генерируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:33 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
14.02.2019 15:33, Фэйтл Эра пишет: > не согласен. в спортлото пиши, кловун. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:36 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Фэйтл Эразначит, баг в том, что ворнинг генерируется Это действительно баг, тут ворнинга быть не должно. А вот видимость приватных членов в рамках модуля не баг. Если хочешь строгой приватности используй strict private. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:36 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
Даже объявление в другом модуле даёт доступ к privat-default свойству ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:40 |
|
||
|
Private symbol declared but never used
|
|||
|---|---|---|---|
|
#18+
DimaBrДаже объявление в другом модуле даёт доступ к privat-default свойству Ох какой лютый жучара ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2019, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39773822&tid=2039801]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 542ms |

| 0 / 0 |
