Russian Qt Forum
Май 17, 2024, 01:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Буфер обмена - коллизии  (Прочитано 5538 раз)
CroCIV
Гость
« : Сентябрь 09, 2009, 16:18 »

На ум пришел вопрос: если в качестве общего интерфейса между своим приложением и приложением стороннего разработчика использовать буфер обмена, есть ли у этого способа какие-то явные преимущества или недостатки? на сколько это грамотно? и не возникает ли ситуация конфликта по доступу к данным в буфере между использующими буфер приложениями в том числе под управлением пользователя?
короткое мнение знатока
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Сентябрь 09, 2009, 17:29 »

На знатока не претендую, т.к. писал всего 1 такую задачу Улыбающийся UI 32-bits, расчеты 64-bits. Обмен через shared memory (+ 2 семафора)
Записан
Tonal
Гость
« Ответ #2 : Сентябрь 10, 2009, 06:53 »

Буфер обмена должен управляться пользователем.
Для постоянной коммуникаций между прогами есть много других, более удобных методов.
Записан
CroCIV
Гость
« Ответ #3 : Сентябрь 10, 2009, 07:52 »

так и знал что идея не хорошая, по этому курить ее не стал  Строит глазки спасибо.
Хотя... есть тут у меня пример проприетарного ПО, который при заполнении .xls шаблона использует активный лист и выполняет поячеечную вставку... так вот тратит он секунд 5 на то чтобы заполнить двенадцать ячеек строки, и когда с увлечением наблюдаешь за его неприхотливой работой на перед зная что строк таких больше 2000 и листов в документе 23, то не волей задумываешься, о том как это просто и быстро вставляется таблица из буфера  Смеющийся
Записан
Rcus
Гость
« Ответ #4 : Сентябрь 10, 2009, 08:17 »

Из буфера тоже не быстро Улыбающийся /* Во всяком случае не очень быстро идет вставка таблиц 10 x 10k скопированных из браузера */ Самый быстрый способ это генерация csv/fixed-space/whatever-delimited файлов напрямую, но без форматирования. Способ посложнее - использование библиотеки чтения/записи biff файлов (формат .xls <=2003).

///чувствую будут кошмары сниться - вспомнил как писал подобное на progress 4gl несколько лет назад
Записан
CroCIV
Гость
« Ответ #5 : Сентябрь 10, 2009, 10:06 »

О! я тут вдруг взгляд свой случайно уронил на класс QueryTable в пространстве имен Microsoft.Office.Interop.Excel и на меня снизошло просветление Веселый

Такую схему передачи данных я имел в своей голове до этого:
    |БД                | Qt ПО        |Excel     
    |<-----запрос |                 |
    |данные------>|                 |
                         |данные---->|

Где миграция данных происходит 2жды.
Теперь же класс QueryTable позволяет создать такую схему:
    |Qt ПО           |Excel           |БД     
    |запрос-----> |                 |
                         |запрос---->|
                         |<----данные|

а? как оно? здорово? здорово?  Смеющийся

Как реализую, отпишу в новой теме
Записан
CroCIV
Гость
« Ответ #6 : Декабрь 03, 2009, 12:07 »

http://www.prog.org.ru/topic_11526_0.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.041 секунд. Запросов: 19.