|
|
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
Delhi 10.2, компиляция под Android, код: Код: pascal 1. 2. 3. 4. 5. 6. Вопрос: какого фига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:34:04 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mikeВопрос: какого фига?Ну а смысл, что-то добавлять в список, чтобы тут же его удалить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:43:25 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mikeкакого фига? В некстгене объекты управляемые. Само помрет в прологе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:46:09 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey...прологе эпилоге конечно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:47:32 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_misha mikeВопрос: какого фига?Ну а смысл, что-то добавлять в список, чтобы тут же его удалить? Объект удаляется, но элемент списка остается. Kazantsev Alexeymisha mikeкакого фига? В некстгене объекты управляемые. Само помрет в прологе. Ох нифигасе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:49:32 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Ну а смысл, что-то добавлять в список, чтобы тут же его удалить? Это вырожденный пример, оно при любом List[x].Free так ругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:50:33 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyВ некстгене объекты управляемые. Само помрет в прологе. Это конечно зашибись, но, блин, может у меня в TSomeClass десять гигабайт памяти выделено было. И теперь вместо прогнозируемого высвобождения мне ждать пока оно само просрется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:54:22 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mikeтеперь вместо прогнозируемого высвобождения мне ждать пока оно само просрется? Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 15:58:28 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mikeИ теперь вместо прогнозируемого высвобождения мне ждать пока оно само просрется? Можешь просто доку почитать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 16:03:14 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Код: pascal 1. Если компилятор сгенерировал временную переменную это не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 16:05:52 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyМожешь просто доку почитать . А что им помешало вызывать DisposeOf когда я делаю Free? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 16:14:48 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mike, http://www.gunsmoker.ru/2013/05/modern-delphi.html GunSmokerТак что, если вы хотите написать универсальный код, который можно запускать на обоих компиляторах (с ARC и классический, без него), то вы можете: ... Использовать классический подход с Free/FreeAndNil, не используя преимущества ARC. На ARC этот подход формально будет работать благодаря обратной совместимости, хотя его поведение может незначительно отличаться. Предупреждение нужно лишь для того, чтобы убедиться, что ты понимаешь, что ты делаешь. misha mikeА что им помешало вызывать DisposeOf когда я делаю Free? GunSmokerМетод DisposeOf безусловно вызывает деструктор - даже несмотря на существующие ссылки на объект. После такого вызова деструктора объект переходит в состояние "зомби" ("zombie state" или "disposed state") - для него был вызван деструктор, объект был очищен, но память для него ещё не была освобождена. Вы можете узнать состояние объекта через свойство Disposed - это аналог Assigned для объектов из классического компилятора. Разница между вызовами FreeAndNil/Free и DisposeOf заключается в ваших намерениях: вызов FreeAndNil/Free отсоединяет ссылку, но не означает немедленного удаления объекта (он может быть удалён сейчас, но может быть удалён и позднее), а вызов DisposeOf всегда безусловно удаляет объект, даже если на него есть ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 16:36:01 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
GunSmoker, хорошо, я не делаю Free, а сразу удаляю его из TList<T>, в этом случае объект будет удален немедленно, или когда-нибудь потом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 17:22:56 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mike, сразу - поскольку счётчик ссылок опустится до 0. В предположении, что этот же объект не используется ещё где-то вне списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 17:34:00 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
GunSmoker, благодарю. P.S. Это ж надо было вернуться в Delphi-разработку и найти тут такое... Управляемые объекты по-умолчанию, слабые ссылки, строки с нулевой базой. А на что еще не наткнулся, страшно подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 17:38:39 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mikeи найти тут такое... Так это только для некстгена, в классическом компиляторе всё по прежнему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 17:46:38 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyТак это только для некстгена, в классическом компиляторе всё по прежнему. Но нужен-то некстген... Вакханалия со строками вообще на голову не налазит. Индексируем по-умолчанию с нуля, но если хотим, то можно и с единицы. Но строковые функции всегда работают с единичной базой. Но хелперы всегда с нулевой. Для кого это все? Кем нужно быть, чтобы держать в голове столько неочевидных особенностей. По дорожке PHP пошли абракадабровцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 17:55:58 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mike, предполагается, что старики будут использовать индексацию с единицы, молодёжь - с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 18:00:48 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
misha mikeДля кого это все? Метаний там вообще в достатке. Сперва строки в некстгене сделали иммутабельными, но менять строку не запретили (т.е. s[5] := 'A' к ошибке компиляции не приводило, но в рантайме строка полностью пересоздавалась). Байтовые строки выкинули совсем. Теперь, вот, и байтовые строки вернули, и линуксовом некстгене строки перестали быть иммутабельными. Д - движуха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 18:05:55 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
GunSmokerмолодёжь - с нуля. Ну не знаю. Тут с молодежью и так швах, а с подобными закидонами желающих станет еще меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 18:15:54 |
|
||
|
H2593 Code has no effect. Compiler generated temporary variable is cleared instead
|
|||
|---|---|---|---|
|
#18+
Надо Марко Канту поймать в темном переулке и заставить сделать строки стартующими с 1 всегда и везде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 18:29:45 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39463198&tid=2042218]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
192ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 517ms |

| 0 / 0 |
