LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: Subst on June 30, 2016, 01:10:17 pm
-
Алекс.
При попытке создать подчиненый источник данных через SQL (режим подзапроса), прога крашится.
Шо такое?
-
Гляну :)
-
Глянул :) С ходу повтоорить не получилось . Нужно больше информации :)
-
Алекс, во вложении скрин.
При всем, если указать явно значение в where, то все прокатывает
[вложение удалено администратором]
-
А дебагер показывает место в ктором приложение валится?
-
Неа.
Но я обнаружил нестабильность 5.7 версии QT, щас собираю 5.6.1. Откатываюсь, к томуж QtSerialBus все равно не доведен до ума
Потом еще раз посмотрю, все равно выходные, актуально в понедельник-вторник нужно будет.
Но еще момент... валится не каждый раз. Как-то проскочил, запрос только иной был. Но потом дизайнер валился при открытии отчета, ручками вычищать пришлось o_O
-
Алекс!
Мои соображения, что происходит.
итак, имеем подчиненный источник вида select * from slave_table where master_table_id=$D{master_table.id}
master_table инициализируется из приложения путем createCallbackDatasource, например.
При запуске дизайнера я, конечно, вижу этот источник данных. Однако при работе из дизайнера $D{master_table.id} не будет инициалирована. Думаю, отсюда и растут грабли.
Я организую новый источник, который явно требует $D{master_table.id}. Дизайнер при сохранении источника, видимо, не проверяя на валидность $D{master_table.id} пытается тестовый запрос выполнить.
Поскольку, если я создаю источник вида select * from slave_table where master_table_id=CONST, где CONST - любое значение, все проходит на УРА
-
Теперь понятно куда копать :)
-
я не стал глубоко код копать, нету времени просто, тебе то виднее, код твой.
Может сделать проверку на валидность $D{...} и в случае отрицательного ответа тупо какое-то значение левое проставлять. По крайней мере не будет обращения к "хз чему то там"
А то что выходит, у нас индекса модели еще нету, а мы туда уже лезем. Отсюда и краш
-
При всем желании не получается повторить :( Лайму особо и крашится то негде. Может валится где-то в реализации калбэка ?
-
Да, у меня была такая идея. Есть там подозрение в одном месте.
Извини, не успел написать вчера, проверяю.
При чем - это парадокс. Это место отвечает за некоторые переменные, передаваемые в запрос. Но, собственно, новыми датасорсами в отчетах я от этих переменных и хочу избавиться, чтобы максимально отвязать отчет от программы :D
-
Алекс, похоже косяк у меня был. Отбой. Извини, что дернул не по делу.