![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
2 lukas - вот смотри, я тут немного освоил экспорт функций из dll. Вобщем если в моем основном приложении вызвать dll форму и нажать в этой форме Button3 - то изменение переменной произойдет одновременно и в dll и в основном приложении! Только вот никак не могу додуматься - как передать обновления DBGrid? Я думаю, что нужно передавать ADOTable1.Close и ADOTable1.Open - только вот как в моем примере их передать?
Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
lukas, прошу, не стоит давать таких советов, грязнее метода и нет наверное
![]() Teleport, посмотрел аттач и ужаснулся. Брутфорс, и то с грубыми ошибками... Тебе же THandle предложил по сообщениям обновление организовать, это приемлемый и удобный метод. Чем не устраивает? Хотя THandle обучен еще одному эффективному методу решения подобных задач, придет, ответит ![]() |
|||
|
||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
2 Rrader - подробнее насчет ошибок
![]() ![]() Жду ответа. ![]() |
|||
|
||||
Rrader |
|
||||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Передача объекта - небезопасна.
Передача строки String (наверняка у тебя это AnsiString) - еще более небезопасная затея. Темы избитые, статьи можно читать разные - "Тонкости работы со строками" и "Строки в Delphi" |
||||
|
|||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
читаю про строки...
![]() |
|||
|
||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
я немного разобрался с примером, который мне дал Thandle. И присоединил его к своей программе с бд. Все работает, но не совсем так как надо - обновления в DBGrid-ах запаздывают. Т.е. далеко не с первого клика происходят обновления. Прошу рассмотреть мой проект и сказать, как исправить чтобы обновления были с первого клика по кнопке.
Mainn.dpr - проект главного приложения libr.dpr - проект dll Unit1.pas- модуль формы dll Присоединённый файл ( Кол-во скачиваний: 14 ) ![]() |
|||
|
||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
проблема актуальна. Сообщения, как я понял, проходят сразу, а вот DBGrid - не обновляется сразу. Запаздыает обновления до следующего нажатия кнопки. :( в чем проблема не пойму... Какой совет может дадите? исходнике в посте выше.... :( :(
|
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
![]() Вот примерчик связи с помощью интерфейсов(в аттаче). Обновляется не сразу думаю потому, что это дело связано уже с базами данных) То есть все выполняется, Close|Open делается, но обновления не происходит. Teleport, тут уже копать в свойства базиальных компонентов... Присоединённый файл ( Кол-во скачиваний: 41 ) ![]() |
|||
|
||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
2 THandle - спасибо за пример, скачал, разбираюсь. Работает. Обновляется не сразу, причем я думаю, что это дело не в самих бд... Просто вот смотри - когда с сообщениями работали - твой пример тоже, то там ведь ShowMessage - тоже невсегда с первого раза выскакивали? Все же думаю, что тут проблема в технологии передачи... Не утверждаю, конечно, но думаю, что именно так.
А за интерфейсы отдельное спасибо - пытаюсь разобраться. Про с пример с сообщениями почти все понятно. Спасибо. Пытаюсь, пока безуспешно, найти решение для обновления моментального... |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Teleport, а ты во время отладки библиотеки посмотри - каждый ли раз срабатывает нужное действие. То есть отлаживай саму библиотеку.
|
|||
|
||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
хм...
![]() ![]() Как я увижу-то каждый или некаждый раз? ![]() |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Teleport, открываешь проект библиотеки.
В Project Options, Dubugger, ставишь в Host Application нашу программу (mainn.exe или как там её). Дальше на строки:
(это в методе TExuDllInterface.Release) ставишь брякпойнты. Дальше запускаешь все это дело(Run or F9) Жмешь "Вызов". А дальше жмешь в окне программы кнопки удалить/добавить и смотришь, заходит ли в код, на котором стоят бряки. |
|||
|
||||
Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
спасибо, пробую))
|
|||
|
||||
lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
Teleport, ну правильно, если ты один и тот же используешь unit и в длл и в exe, это вообще небезопасно, и не известно к каким результатам это приведет.
Rrader, не знаю я пользуюсь, просто не нужно злоупотреблять таким способом. Сообщения вообще встают в очередь, а тут напрямую выполнение функции из exe. Главное знать где находиться exe, а загрузить функцию из exe можно также как и длл. Вообщем у меня еще проблем не возникало. Если могут возникнуть какие -нибудь проблемы, напишите тогда о них... мне самому интересно будет. -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
lukas, для этого придуманы интерфейсы. Затрудняюсь назвать хотя бы одно преимущество в связи EXE и DLL через экспорт из EXE по сравнению с интерфейсами. Ненужное наследство от PE-файлов
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |