|
|
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 19:32 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU> Что я делаю не так? Либо не к месту пытаешься юзать Self, либо не к месту пытаешься впихнуть class constructor вместо обычного, не понимая его суть, для чего он и отличия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 19:41 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, В классовых конструкторах нет инстанса. То есть селфа. Собственно - в том и разница с обычными: https://stackoverflow.com/questions/39471864/delphi-constructor-and-class-constructor A class constructor executes exactly once, when the unit in which it is declared is initialized. A class constructor is a static class method, and so Self is not defined. A constructor executes when explicitly called and has the job of initializing an instance of a class. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 19:43 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
makhaon> https://stackoverflow.com/questions/39471864/delphi-constructor-and-class-constructor Это не совсем корректная ссылка (в т.ч. по тексту), оф.дока лучше: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Methods#Class_Constructors Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 19:50 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 20:08 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. так тоже работает. они же в памяти класса эти переменные. статически ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 20:12 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUЧто я делаю не так?Это розыгрыш? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 22:52 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
self - указатель на экземпляр. Классовые методы - методы работающие без создания экземпляра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 00:39 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
Век живи, век учись Я думал class var/class property/class constructor - вещи, которые характерны как для самого класса, так и для его потомков. На каждый класс своя копия переменных Оказывается, всё это статические вещи и находятся только в том классе, где объявлены :( Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 00:58 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, Общие поля/методы для экземпляров - это обычные. Общие методы/поля для всего класса - это классовые. Обращаться из экземпляров можно к любым. Но в классовых методах и полях нет экземпляров. Иначе они были бы не классовыми а обычными. Вроде же всё прозрачно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 12:02 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
DimaBrself - указатель на экземпляр. Классовые методы - методы работающие без создания экземпляра. Не совсем так. В классовых методах Self - указатель на класс. Т.е. такой код рабочий: Код: pascal 1. 2. 3. 4. 5. Видимо, классовые конструкторы в этом плане тоже особенные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 13:09 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
В справке же все расписано http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Methods_(Delphi)#Class_Constructors По сути это замена глобального initialization, на более конкретные для класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 13:23 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
alekcvpВ классовых методах Self - указатель на классalekcvpНе совсем так.alekcvpТ.е. такой код рабочий: А такой нерабочий Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 14:10 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
X-CiteПо сути это замена глобального initialization, на более конкретные для класса.По сути это вызов инициализации только тогда, когда линкер линкует конкретный класс, а не при любом упоминании модуля в uses ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 14:12 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_А такой нерабочий [/src] И при чём тут это. Речь была о том, что Self - не всегда указатель на инстанс и в классовых методах он тоже присутствует. При чем тут static методы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 15:30 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
alekcvpПри чем тут static методы?При том, что это тоже классовые методы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 15:42 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_alekcvpПри чем тут static методы?При том, что это тоже классовые методы По-факту это просто отдельные процедуры, приписанные к классу для удобства, так как ничего именно "классового" в них нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 16:19 |
|
||
|
class constructor: Undeclared identifier: 'Self'
|
|||
|---|---|---|---|
|
#18+
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Methods_(Delphi)#Class_Static_Methods Все есть в справке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=109&tid=2040895]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 338ms |

| 0 / 0 |
