Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#1: 2007-04-10 17:31:23 ЛС | профиль | цитата
hiSQLite_DB.pas

code_1256.txt

[size=-2]------ Добавлено в 17:31
Суть обновления: теперь при вызове doOpen в случае проблем (не загрузился SQLite, не загрузился файл БД) на точку onError выдаётся текст ошибки.
карма: 1

0
файлы: 1code_1256.txt [666B] [338]
Ответов: 3655
Рейтинг: 69
#2: 2007-04-10 17:40:18 ЛС | профиль | цитата
iarspider, Сейчас тебе Dilma подробно расскажет что так делать ненадо.
ХиАсм используют нетолько русские.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#3: 2007-04-10 19:41:43 ЛС | профиль | цитата
Вячеслав, даже дело не в этом.
iarspider, возле каждой строки напиши коментарий - будет понятней
Dilma (почему-то) точку onError сотворил , но не включил в работу . Угадай с трех раз - почему?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2058
Рейтинг: 28
#4: 2007-04-10 19:48:21 ЛС | профиль | цитата
Tad писал(а):
Dilma (почему-то) точку onError сотворил , но не включил в работу . Угадай с трех раз - почему?

Потому что она в тестовом режиме.
карма: 1

0
Ответов: 1891
Рейтинг: 110
#5: 2007-04-10 20:14:32 ЛС | профиль | цитата
Эдик, писал(а):
Потому что она в тестовом режиме.


А кто сказал, что в тестовом режиме?
карма: 0
%time%
0
Ответов: 2058
Рейтинг: 28
#6: 2007-04-10 20:26:27 ЛС | профиль | цитата
Alexbootch, обычно так было. Если что то не полностью в компоненте или закоминтированны строки какие ни будь, то значит в стадии разработки. Ну я и подумал что в тестовом режиме.
карма: 1

0
Ответов: 5446
Рейтинг: 323
#7: 2007-04-10 21:02:20 ЛС | профиль | цитата
Tad, да куда уж понятнее-то?!
doOpen может по двум поводам "обламываться" (причём в оригинале - молча!): если не загрузиласть sqlite3.dll (checkSqliteLoaded вернула false), или если не открылся файл базы (id = nil после sqlite3_open). Мой фикс оба эти случая "отлавливает" и на onError скидывает краткое сообщение об ошибке. Вообще-то надо бы у sqlite пробовать получать код ошибки, но это - на будующее...
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#8: 2007-04-11 00:29:17 ЛС | профиль | цитата
iarspider, попробуй вот это (базы с таким именем у тебя нет 100%) и никаких сообщений - молча создалась база и все. Сообщения, что база не найдена - нет.
Сообщение об отсутствии sqlite3.dll у меня генерится и на старом компоненте и на других компах пробовал.
Приложению не удалось запуститься, поскольку sqlite3.dll не был найден. Повторная установка приложения может исправить эту проблему.

Add(MainForm,7125501,21,105)
{
Left=20
Top=105
link(onCreate,15181512:doOpen,[(110,146)(110,146)])
}
Add(SQLite_DB,15181512,168,140)
{
FileName="taddd.db"
link(onError,4350685:doMessage,[(212,153)(212,153)])
}
Add(Message,4350685,245,147)
{
}

[size=-2]------ Добавлено в 22:12
да, если в качестве taddd.db применить любой (не db файл) просто переименуй, то и модернизированый (согласно code_1256.txt) hiSQLite_DB.pas молчит как рыба.

[size=-2]------ Добавлено в 22:44
Tad писал(а):
iarspider, возле каждой строки напиши коментарий - будет понятней
не для меня, для себя

[size=-2]------ Добавлено в 00:29
А я представляю примерно такое:
code_1263.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_1263.txt [986B] [414]
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2007-04-11 01:04:04 ЛС | профиль | цитата
Вячеслав писал(а):
iarspider, Сейчас тебе Dilma подробно расскажет что так делать ненадо.

никакие тексты выдавать на точки нельзя. Была идея сделать при debug компиляции вывод любого желаемого текста сразу в MessageBox, но при release только кодами на onError.
карма: 27
0
Ответов: 117
Рейтинг: 9
#10: 2007-04-11 17:38:35 ЛС | профиль | цитата
"Dilma" писал(а):
никакие тексты выдавать на точки нельзя. Была идея сделать при debug компиляции вывод любого желаемого текста сразу в MessageBox, но при release только кодами на onError.

Можно дополнительно делать точку onErrorStr или свойство ErrorStr, и туда выдавать текст ошибки
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2007-04-12 00:57:55 ЛС | профиль | цитата
AZot писал(а):
Можно дополнительно делать точку onErrorStr или свойство ErrorStr, и туда выдавать текст ошибки

нет нельзя. Это потенциальная проблема в будущем при возможной поддержке нескольких языков. Достаточно дать описание всем кодам в справке, а пользователю при желание загнать их в массив и получать по индексу.
карма: 27
0
Ответов: 117
Рейтинг: 9
#12: 2007-04-12 18:49:08 ЛС | профиль | цитата
Dilma писал(а):
Это потенциальная проблема в будущем при возможной поддержке нескольких языков.

Мало кто возбухает, когда на буржуйской программе ошибки выходят на английском языке.
Я понимаю, что на инглиш мало кто напишет правильно (я в том числе), но можно попросить кого нибуть,
чтоб помог перевести. Код ошибки остается нетронутым и при дальнейшей локализации не надо будет
заботится о выводе ошибок на английском языке.

[size=-2]------ Добавлено в 18:49
Еще.
При отсутствии справки или её утери, всегда можно узнать текст ошибки
по её числовому значению в коде программы
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2007-04-12 21:32:12 ЛС | профиль | цитата
AZot, наверное нужно отличать готовую программу от инструмента, на котором эта программа создается. В первом случае это называется волей автора, а во втором - раздуваение кода на пустом месте.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#14: 2007-04-14 17:12:18 ЛС | профиль | цитата
Соображения изложены интереснные конечно

А если вернуться на грешную землю: так делать никто не пробовал
code_1295.txt
карма: 9

0
файлы: 1code_1295.txt [597B] [365]
Ответов: 5446
Рейтинг: 323
#15: 2007-04-14 17:18:07 ЛС | профиль | цитата
Galkov, Это жесть!
карма: 1

0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)