| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Нужно вывести процедуру в поток |
| Автор: Pavelbej 14.9.2008, 16:35 | ||||
| Здравствуйте! Тут такие дела: Хочу експортировать данные из своей программы в базу данных. Для этого жму на батон и выполняю задание:
Процедура Export_Data находится в другом модуле и выглядит ее код примерно так:
Как видно, эта процедура может вызывать сама себя сколь угодно раз (древовидная сруктура). В этом случае мне непонятно как пихнуть ее в поток. Подскажите архитектуру, схему того, как должно все выглядеть. |
| Автор: Poseidon 15.9.2008, 00:38 |
| TThread вполне умеет поддерживать рекурсивный вызов. http://forum.vingrad.ru/forum/topic-60076.html. |
| Автор: CodeMonkey 15.9.2008, 07:49 | ||
| http://delphikingdom.ru/asp/viewitem.asp?catalogid=1355 Если же использовать классические потоки, то не совсем понятно, в чём именно у вас возникли затруднения. Вы должны в btImportExportClick запустить поток, в Execute которого должен стоять вызов Export_Data(...); Всё. Рекурсия здесь как бы вовсе не при чём. Или вы хотите вставить выполнение в потоке в саму Export_Data? Ну тогда достаточно проверять: если вы выполняетесь в главном потоке - то запускать её в другом потоке, нет - ничего не делать. Сделать это можно, например, так:
|
| Автор: Pavelbej 15.9.2008, 12:26 |
| Спасибо всем, оказалось я зря пугался. |