
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.06.2019, 08:46
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
Коллеги, как вернуть значение переменной. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Ошибка - E2555 Cannot capture symbol 'id' Как обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 09:35
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
Присвоить ее локальной. Захватить локальную. Потом по выходу локальную опять присвоить в var параметр. var и иногда const не захватываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 09:43
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-Cite, делаю, не получается: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 10:09
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
А вы сделайте Код: pascal 1. 2. 3. 4. Вангую что вернется 200 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 10:54
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-CiteА вы сделайте Код: pascal 1. 2. 3. 4. Вангую что вернется 200 Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 11:08
|
|||
|---|---|---|---|
|
|||
Захват переменной в анонимной процедуре |
|||
|
#18+
wsnet, А так не сработает? Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 12:30
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
Kazantsev Alexeywsnet, А так не сработает? Код: pascal 1. Тоже самое Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 12:49
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
wsnet, А отладчик на строке "I := tmp;" какое значение tmp показывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 12:52
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
В 10.2 вот этот код работает корректно: Код: 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. А у вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 14:16
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
А анонимная функция вызывается? Вангую, что нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 14:21
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-CiteА анонимная функция вызывается? Вангую, что нет. Да она отрабатывает как нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 14:51
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
Вызов ShowModal синхронный или асинхронный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 15:21
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-Cite, пробую и синхронно и асинхронно все тоже. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 15:27
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
Если я пробую вызвать через метод объекта, указав тип процедуры - как метод объекта, все работает, но так бы не хотелось - ибо хочу обработку переменной Id иметь в одной процедуре в зависимости от mrOk или mrCancel: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 15:47
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
alekcvpВ 10.2 вот этот код работает корректно: Код: 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. А у вас? Этот код работает! Но в чем принципиальное отличие от моего метода - там переменная не захватывается! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 16:53
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
wsnet, Анонимная функция - это интерфейс. В интерфейсе есть переменная, которая отвечает за это. Погляди в отладчике, присваивается ли ей значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 16:56
|
|||
|---|---|---|---|
|
|||
Захват переменной в анонимной процедуре |
|||
|
#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. В каком порядке появятся сообщения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:35
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
_Vasilisk_ Код: 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. В каком порядке появятся сообщения? Странно, но сначала 'Exit', а только потом 'test'. Отчего так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:36
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
UniApplication У вас случаем не UniGui приложение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:38
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:38
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-Cite, да UniGui. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:40
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
ShowModal doesn't block execution in UniGUI, use callbacks to execute your code after the form is closed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:43
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
Вызов то асинхронный. Конечно работать не будет... Локальные замыкания работают только при синхронном вызове анонимки. Ваша строка кода I := tmp; Выполнится раньше чем вызовется анонимка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 19:58
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-CiteВызов то асинхронный. Конечно работать не будет... Локальные замыкания работают только при синхронном вызове анонимки. Ваша строка кода I := tmp; Выполнится раньше чем вызовется анонимка. Теперь ясно! Только в Callback буду получать значение теперь! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.06.2019, 20:02
|
|||
|---|---|---|---|
Захват переменной в анонимной процедуре |
|||
|
#18+
X-Cite Локальные замыкания работают только при синхронном вызове анонимки Я тут соврал..будут работать и при асинхронном.. Ведь внутри анонимки контекст уже захвачен... А вот код после ShowModal у unigui выполнится раньше чем анонимка, это надо понимать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2039407]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 507ms |

| 0 / 0 |
