On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 6857
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.12.20 20:07. Заголовок: Неисправимая ошибка 9009 или 9006


Прога на большой базе - 71 тыс.записей вылетает вот с такой ошибкой в error.log:
Info: Harbour MiniGUI Extended Edition 20.12.0 (32-bit) 
Неисправимая ошибка 9009: hb_xrealloc ене может перераспределить память
Called from DBAPPEND(0)
Called from CREATEMEMTMP(1310) in Demo2.prg
Called from MAIN(109) in Demo2.prg
------------------------------------------------------------------------

Вот выборочный код:
REQUEST HB_MEMIO 
...
DBCREATE( cFileTmp, aStru, cVia, .T., cAlsTmp )
// область cAlsTmp
k := FieldPos( cFld )
FOR i := 1 TO (cAlias)->( LastRec() )
SELECT(cAlsTmp)
APPEND BLANK // строка 1310
FieldPut( k, i )
SELECT(cAlias)
DBGOTO(i)
IF (cAlias)->( DELETED() )
(cAlsTmp)->( DbDelete() )
ENDIF
DO EVENTS
NEXT

Из одной базы копирую записи в новую базу MEMIO
Как с этим бороться / что править ? [img class=smile" src=/gif/smk/sm33.gif]

PS. База создаётся объемом 415 Мб ( пробовал писать на диск) два раза, прога ломается на создании второй базы.
Просто этот пример - продолжение Tsb_VirtualColumn и в этой проге 2 раза создаётся временная база.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 26 , стр: 1 2 All [только новые]


Администратор




Пост N: 3990
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 20.12.20 17:06. Заголовок: Andrey пишет: Делал..


Andrey пишет:

 цитата:
Делал просто пример под задачу сравнения двух dbf и показ отличий в ТСБ.
Думал сделать показ различия строк и колонок цветами, а цвета загнать в массив или во временную базу.



У меня в утилите dbedit как раз есть функция сравнения двух dbf, без использования промежуточного массива.
Там цикл по первому dbf, сравнение каждой записи со вторым с записью различий в выходной массив. В массив заносятся только различия

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3554
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.12.20 18:14. Заголовок: Pasha пишет Там цикл..


Pasha пишет
 цитата:
Там цикл по первому dbf, сравнение каждой записи со вторым с записью различий в выходной массив. В массив заносятся только различия


У Андрея не программа сравнения, а скорее два цветных отчета (таблицы) на одном окне с 6-ю запросами к одной базе, которые результат помещают в новые виртуальные колонки (6 штук можно больше делать), обозначая цветами, в соответствии с данными и алгоритмами, каждой колонки. По виртуальным полям можно фильтровать полученный результат как по одной колонке, так и по всем с получением соответствующих итогов, работая на 2-х таблицах.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6867
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.12.20 20:59. Заголовок: SergKis пишет: У Ан..


SergKis пишет:

 цитата:
У Андрея не программа сравнения, а скорее два цветных отчета (таблицы) ...



Да это точно. Просто нужно юзеру показать различия допустим текущей базы и что было несколько месяцев назад.
А то вечно стенания, то данные пропали, то никто данные не трогал, а они другие и т.д.
Да и самому понятней становиться когда перед глазами изменения, как в WinMerge.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1602
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.12.20 21:12. Заголовок: Andrey пишет: Ну эт..


Andrey пишет:

 цитата:
Ну это сложно сделать без массивов.
Тем более memio вроде классная штука, только пользоваться её надо научиться.


Каждый инструмент имеет ограниченный круг применения. Даже самой дорогой золотой ложкой траншею трудно выкопать. Сломается))

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3555
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.12.20 22:03. Заголовок: Andrey пишет Просто ..


Andrey пишет
 цитата:
Просто нужно юзеру показать различия допустим текущей базы и что было несколько месяцев назад


Это частный случай, более общий, на мой взгляд, получение данных за периоды по 6 показателям (можно больше) для сравнения, например прошлый месяц (1 таблица тсб) и текущий (2 таблица тсб), прошлый год и тек. год, кварталы, и т.д. для анализа и сравнения

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3991
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.12.20 08:01. Заголовок: В конце концов, есть..


В конце концов, есть же диспетчер задач. Достаточно оценить, сколько программа берет памяти в спокойном состоянии, пусть это будет 10-20М,
и в возбужденном. Если память будет зашкаливать, это значит, что "что-то я делаю не так"

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 26 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 181
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет