Welcome, Guest. Please login or register.
Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Dark2011

Pages: [1] 2
1
Discussion | Обсуждение / Re: Верните память!!!)
« on: October 11, 2017, 10:05:58 am »
неа, не стоит

2
Discussion | Обсуждение / Re: Верните память!!!)
« on: October 10, 2017, 10:03:59 am »
Ну да на винде норм все возвращает, а вот на ubunte возвращает если появляются нуждающиеся - создавал второй такой отчет в паралельно запущенной программе - память перераспределяется.

3
Discussion | Обсуждение / Re: Верните память!!!)
« on: October 09, 2017, 10:02:32 am »
А вы на какой операционке сейчас это проверяли?

Полчуается интересная ситуация - я создаю отчет - у меня скушано 1 Гб, закрываю отчет память остается заюзаной. Потом я создаю такой же огронмый отчет - и памяти больше не выедается т.е получается это на уровне операционки чтоли, процесс не спешит возвращать память? Интересно можно на уровне системных вызовов изменить такое поведение?
Ну я не знаю... сколько надо подождать)? Я ждал минут 5)

4
Discussion | Обсуждение / Re: Верните память!!!)
« on: October 06, 2017, 11:51:08 am »
Добрый день. Собрал эту версию - различий не увидел.
Прикрепил скриншотик с наблюдениями за жором в top:

красным обозначен момент начала рендеринга, синим - момент закрытия отчета и удаления LimeReport::ReportEngine;

Спасибо.

5
Discussion | Обсуждение / Верните память!!!)
« on: October 04, 2017, 04:55:13 pm »
С того момента как вы выпустили 1.4.6 отлично ее пользовал уже месяцев 5, пока в один прекрасный момент (вчера) не пришлось генерить отчет на 1500 страниц. Отчет сгенерился нормально, но закрывалось это все дело минуты 3, при этом пролист страниц был довольно тормозной.
Решил проверить наличие новой версии и вуаля 1.4.7
Все собрал, запустил, сгенерил - все отлично, генериться пролистывается и закрывается быстро, но выжирается памяти просто немеренно (около 1500 страниц - 1Гб). Но фиг с ним выедается - НЕ ОСВОБОЖДАЕТСЯ.

И второе, может я чего не понимаю но setShowProgressDialog(true); не работает. По крайней мере у меня никакого прогресс бара не появляется.

код в студию:

Code: [Select]

namespace report {

typedef QMap<QString, QString> Variables;
typedef QMapIterator<QString, QString> VarsIter;

class reports_printer : public Singleton<reports_printer>
{

private:
    reports_printer() : m_report(nullptr) { ; }
    //
    reports_printer(const reports_printer &) = delete;
    reports_printer& operator = (const reports_printer &) = delete;
    //
    virtual ~reports_printer() { reset_report(); }

public:
    void create_report(QAbstractItemModel* data, QString report_templte, Variables vars = Variables())
    {       
        m_report = new LimeReport::ReportEngine;

        if(data && !report_templte.isEmpty())
        {
            if(vars.isEmpty()) qDebug() << "No variables";
            else
            {
                VarsIter iter(vars);//  vars.begin();
                while(iter.hasNext())
                {
                    iter.next();
                    m_report->dataManager()->setReportVariable(iter.key(), QVariant(iter.value()));
                }
            }

            const QString REPORT_MODEL_NAME = "table_model";
            m_report->dataManager()->addModel(REPORT_MODEL_NAME, data, false);
            if(!m_report->loadFromFile(report_templte))
            {
                qDebug() << "Wrong report template";
                reset_report();
                return;
            }

            if (ref_data::get()->debug_prn())
            {
                m_report->designReport();
            }
            else
            {
                m_report->setPreviewWindowTitle(QObject::tr("Preview"));
                //m_report->createPreviewWidget()->show();
                m_report->setResultEditable(false);
                m_report->setShowProgressDialog(true);
                m_report->previewReport();           
            }
        }
        else
        {
            if(!data)                    qDebug() << "Wrong data: nullptr";
            if(report_templte.isEmpty()) qDebug() << "Wrong report template: path is empty";
        }
        reset_report();
    }

private:
    void reset_report()
    {
        QGuiApplication::restoreOverrideCursor();
        if(m_report) delete m_report;
        m_report = nullptr;
    }

    friend class Singleton<reports_printer>;

private:
    LimeReport::ReportEngine* m_report;
};


} // namespace report


т.е после каждого построения отчета всегда (ну только если откуда -нить exception не вылетит) вызывается reset_report. Но top мне упорно показывает 1 Гиг отожранной памяти.

Спасибо.

6
Собственно не получается изменить толщину линий границ элементов. Устанавливаешь в редакоре элемента - толщина изменяется - рендериш отчет - все оставется по старому, обратно в дизайнейр выходишь - толщина линии (borderLineSize) - сброшена в 0

7
Да все работает, спасибо!

8
Добавил. Табличка в базе называется test_table. Прикладываю заново шаблон и данные.

Кстати сразу вопросик, поскольку с sqlite почти не работал - как правильно хранить DateTime в ней и как выводить ее здесь?

Здесь в таблице я поставил тип Integer а в коде устанавливал вот так:
    record.setValue("Last_entry_date" , QVariant(ti->last_date.toTime_t()));  //test

В дизайнере LR пытался сделать так

$S{ dateTimeFormat($D{test_table.Last_entry_date}, "dd/MM/yyyy hh:mm:ss").toString(); }
и просто $S{ dateTimeFormat($D{test_table.Last_entry_date}, "dd/MM/yyyy hh:mm:ss") }
но отображается просто пустая строка.

Спасибо!


9
Данные берутся из модели, которую я строю по тестовой оракловой базе по курсору...ща нужно сделать табличку sqlite и замапить туда данные из модели....в общем нужно чутка времен

10
Всем привет. Столкнулся с такой вот задачкой - нужно сделать двойную группировку.

Например есть таблица Водителей. Каждый водитель может быть привязан к опреденной категории маршрутов. Один водитель может быть привязан к разным категориям


Имя Водителя  |  Категория маршрута | Поле 1 | Поле 2 | итд
 Вася Петров          30                               3             3
 Вася Петров          30                              17             4
 Вася Петров          30                               6             1
 Вася Петров          30                               2             4
 Слава Иванов       30                               3             2 
 Слава Иванов       30                               1             2 
 Вася Петров          45                               0             0
 Серега                   45                                0            1
 Серега                   45                                2            1


Хочу сделать такую группировку - сначала по категории, внутри этой категории группировка по всем водителям этой категории - по имени, далее след. категории и т.д.

т.е получается
   30
 Вася Петров
....здесь 4 записи....
 Футер
 Слава Иванов
....здесь 2 записи....
 Футер
    45
 Вася Петров     
....здесь 1 запись....
 Футер
 Серега               
....здесь 2 записи....
 Футер

Делаю это с помощью двух GroupBandHeader и все работает кроме последней выборки - почему то дублируется второй GroupBandHeader и затирает мой GroupBandFooter в этой выборке т.е полчуается вот так (последняя строчка):

  30
 Вася Петров
....здесь 4 записи....
 Футер
 Слава Иванов
....здесь 2 записи....
 Футер
    45
 Вася Петров     
....здесь 1 запись....
 Футер
 Серега               
....здесь 2 записи....
 Серега

По описанию баг может быть непонятен  - смотри вложения (самую последнюю группировку). Также добавляю шаблон...

Спасибо.
 

11
Товарищи. Не могли бы вы добавить перехват собыйтий клавы на esc - для закрытия предварительного просмотра как это было в fastreports? Спасибо!

12
Проблему решил...забыл про export QT_PLUGIN_PATH. Спасибо

13
Юзаю LR с Qt 5.7.1, под xubuntu 16.04
Все отл работает. Пришло время деплоя, притащил с собой всякие libQt5Core  и тд включая libQt5PrintSupport.so  и plugins/printsupport/libcupsprintersupport.so, все работает но в списке выборов принтера есть только Save to pdf.
Принер сетевой, из всего чего угодно видится и печатает нормально...
Наверное вопрос немножко не по теме, но наверняка ведь пробовали деплоить это добро на пользовательский ubuntu без Qt - какаие либы и плагины обязательны? или все таки проблема не в этом?

14
при 3-ей параметре false все работает
Code: [Select]
m_report->dataManager()->addModel(REPORT_MODEL_NAME, data, false);
каким образом осуществыляется передача владения  - копирование модели?

15
по теме колбэка потом еще гляну.

По последней... не понял, в чем пробема? Цепляешь к проекту qrc, запускаешь из проекта дизайнер

LimeReport::ReportEngine *m_report=new LimeReport::ReportEngine(this);
m_report->designReport();

и спокойно юзаешь твой qrc

Все понял, спасибо....работает

Pages: [1] 2