Я луёй занимаюсь только 3-й год. Ни разу не работала эта функция. Раньше 7.2 — версии не проверял, правда.
На форуме АРКИ с 14 года висит вопрос «Доколе?..»
Надеюсь на светлые головы, ибо моя пока «встала».
Винни Пух, всё так же, но есть разница!
Я вызываю «дестрой» не из-под main().
У меня вызов происходит из колл-бэк_функции.
«Слушатель» колл-бэка находится, как и полагается, внутри while-do-end головной функции main():
function event_callback (i_id, msg, par1, par2)
...
close_w(t_id) — вызов «дестроя» для закрытия другой таблицы
...
end
.
.
.
function main()
...
SetTableNotificationCallback(t_id, event_callback)
...
end
Винни Пух, всё-таки ты — молодец!
Заставил еще раз проверить свои знания и внимательность.
В 7.27-версии запустил скрипт. DestroyTable работает, но не из всех мест.
Функции обратной связи, прописанные в main() с помощью SetTableNotificationCallback() на ту же таблицу, блокируют закрытие таблицы, которую «слушает» main().
В «Руководстве...» написано:
ВАЖНО! Недопустим вызов функций Clear и DestroyTable для t_id внутри функции обратного вызова f_cb, назначенной на таблицу с данным t_id.
(по-русски эту мысль сразу не понял, но «методом тыка» отключил некоторые вызовы DestroyTable() и нашел, что он работает, но не ото всюду...)
Eugene Bright, я просто уснул, т.к. утром тренировка. Извиняюсь за прерванный диалог. Но вижу Вы сами разобрались. Мое уважение, такому упорству можно позавидовать =)
Nightwalker, т.е. вы уже продали замешенные облигации и на них 13% начислили, а вы подавали в альфу справку о стоимости приобретения и т.п., чтобы уменьшить сумму налогообложения до суммы продажи —...
Zhena_investora, у наст так как ты написал увы не работает! Сургутнефтигаз — обычка дает копеечный дивиденд, но оп показатели P/E и кубышка растут как на дрожжах, а вот только цена с 2005 г. выросл...
⚡️Трамп: «Украина может не выжить в любом случае. Но у нас есть ряд слабостей с Россией. И второе: эта война не должна была случиться, поэтому мы заканчиваем с этим».
Красная селедка Нет ничего призрачнее, чем победа, особенно над мнимым врагом.Вот и сейчас, российский этнос сливается в экстазе, отмечая триумф, который им, как они ласково называют, принес “Трампушк...
Российские нефтяники: почему упали на растущем рынке Мнение по рынку Детальный анализ спроса, потребления по нефти,
Квоты ОПЕК по странам и месяцам по повышению добычи с апреля 25г по февраль 26г п...
На форуме АРКИ с 14 года висит вопрос «Доколе?..»
Надеюсь на светлые головы, ибо моя пока «встала».
DestroyTable() прекрасно работает.
Что-то у вас с логикой в коде.
Никакого особого кода нет (у меня на изыски знаний не хватает):
function close_w(t_id)
DestroyTable(t_id)
end
...
...
...
(вызов)
close_w(id)
...
...
function main()
.
.
end
function OnStop()
.
.
end
Поделитесь, пожалуйста, что как Вы запускаете «дестрой»?
function main ()
local Table = AllocTable()
AddColumn(***)
****
CreateWindow(Table)
SetWindowCaption(Table, «RTS»)
SetWindowPos(Table, 500, 500, 600, 400)
InsertRow(Table, -1)
while IsRun do
*******
end
DestroyTable(Table)
end
В Table запихивается id таблицы через AlloсTable
Чтобы закрыть просто пишешь команду DestroyTable(Table)
Я вызываю «дестрой» не из-под main().
У меня вызов происходит из колл-бэк_функции.
«Слушатель» колл-бэка находится, как и полагается, внутри while-do-end головной функции main():
function event_callback (i_id, msg, par1, par2)
...
close_w(t_id) — вызов «дестроя» для закрытия другой таблицы
...
end
.
.
.
function main()
...
SetTableNotificationCallback(t_id, event_callback)
...
end
Это существенно?
Заставил еще раз проверить свои знания и внимательность.
В 7.27-версии запустил скрипт. DestroyTable работает, но не из всех мест.
Функции обратной связи, прописанные в main() с помощью SetTableNotificationCallback() на ту же таблицу, блокируют закрытие таблицы, которую «слушает» main().
В «Руководстве...» написано:
ВАЖНО! Недопустим вызов функций Clear и DestroyTable для t_id внутри функции обратного вызова f_cb, назначенной на таблицу с данным t_id.
(по-русски эту мысль сразу не понял, но «методом тыка» отключил некоторые вызовы DestroyTable() и нашел, что он работает, но не ото всюду...)
А насчет упорства всё очень просто: я — древний старикашка и делать мне больше всё равно нечего.)))