| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > закачка данных отдельным потоком |
| Автор: rOOxus 28.4.2009, 15:14 | ||
| здравствуйте коллеги! пишу программку для закачки данных из DBF файла в БД FireBird. Идея следующая: доступ к DBF средствами BDE через TTable, в БД есть процедура параметры которой имеют те же имена, что и поля DBF-таблицы и которая осуществляет преобразования этих полей а так же распихивает их данные по разным таблицам. По Table1 организован цикл, который присваивает значения параметров значениям полей и выполняет процедуру. Получаеться примерно так:
вопрос в следующем как сделать процесс такой "закачки" отдельным потоком т.к. в DBF-файле 2 млн записей? ну чтоб пользователя можно было поразвлекать выводом процесса закачки |
| Автор: uranpro 28.4.2009, 15:26 | ||
|
| Автор: uranpro 28.4.2009, 15:52 | ||
гы) можно так еще:
|
| Автор: rOOxus 29.4.2009, 08:37 |
| Вариант с BeginThread вызывает ошибку Error reading data from the connection если запустить еще одну, естественно не связанную с компонентом IBSP, транзакцию этой же программы, а если запустить еще одну копию программы, то все нормально. С Application.ProcessMessages такой ошибки вроде не возникает. Время выполнения обоих вариантов при прочих равных условиях одно и то же. хотелось бы услышать мнение как корректнее это выполнять через BeginThread или путем проталкивания очереди сообщений Application.ProcessMessages? |
| Автор: uranpro 29.4.2009, 10:33 | ||
попробуй создать поток так:
Добавлено через 1 минуту и 36 секунд только добавь в поток соединения и тд... |
| Автор: uranpro 29.4.2009, 10:51 |
| http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_10082098.html |
| Автор: rOOxus 29.4.2009, 16:21 | ||
| спасибо огомное за помощь. у меня еще вопросик слегка не в тему: вот код
а как мне получить текст сообщения сервера об ошибке выполнения хранимой процедуры тот самый который выкатился бы без try ... except? |
| Автор: uranpro 29.4.2009, 16:43 | ||
|