| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Доступ из DLL |
| Автор: _Dimon_ 27.3.2009, 20:23 |
| Как получить доступ из ДЛЛ к обектам которые находятся на форме приложения, которое вызвало эту ДЛЛ (динамически)? |
| Автор: Gradov 27.3.2009, 23:28 |
| _Dimon_, Передай в экспортируемую функцию в качестве параметра указатель на объект, находящийся на форме приложения. И вызови данную функцию. Добавлено через 7 минут и 30 секунд Только формулировка "доступ из ДЛЛ" наверное будет корректна только в том случае если dll многопотоковая. В противном случае вызов функции из dll будет в принципе таким же как и любой функции самого приложения. |
| Автор: _Dimon_ 28.3.2009, 05:01 |
| Можно пример, а то с dll работал, но "обратною связь" никогда не использовал длл не многопоточная, она вызывается как форма для построения отчета |
| Автор: Klin 28.3.2009, 06:00 |
| Буквально вчера днем давал совет по этому поводу. Так как это стандартная операция, то в ней даже ничего интересного нет. На форуме обсуждалось это многократно. Поэтому даю ключевые слова для поиска: dll, GetProcAddress, GetModuleHandle, LoadLibrary, DllEntryPoint. _Dimon_, я часто говорю сарказмы и т.п., но это абсолютно серьезный совет - купите компьютерную литературу, или используйте интернет для ее поиска. На нашем форуме есть раздел компьютерной литературы, где вы сможете найти для себя много полезной информации. Я не говорю, что не стоит использовать этот раздел форума, если вы напишите свой вопрос, вам конечно на него ответят. Но мне кажется, что хотя бы основы лучше изучить, а если что-то будет не понятно, или возникнет какая-то проблема - то здесь вам помогут. ps. буквально внизу страницы есть "А здесь смотрели?". Где есть пример: http://forum.vingrad.ru/topic-150119.html |
| Автор: _Dimon_ 28.3.2009, 19:26 |
| Klin, не стоит так реагировать, эту тему (Вставить форму в DLL, не показывая ее и не вызывая) я смотрел но не понял сути. Давайте задам вопрос по-другому: Как из ДЛЛ изменить, например, Caption формы приложения? Извините, может я сначала вопрос неправильно сформулировал |
| Автор: 586 28.3.2009, 20:03 |
| Может, поможет: http://forum.vingrad.ru/index.php?showtopic=180438&view=findpost&p=1309115 |
| Автор: Gradov 28.3.2009, 20:18 | ||||
| _Dimon_ Создай новый проект <Dynamic Library> c флажком <Use VCL>, назови test_dll, добавь туда след. код и сделай Build. Должен быть создан файл test_dll.dll. Если файл не создан, то пиши - проверим где ошибка.
Далее создай простое приложение и кнопку на форме. Добавь след. код:
Все должно работать. Если нет - пиши, заставим работать. |
| Автор: _Dimon_ 28.3.2009, 20:29 |
| 586, Gradov, спасибо, это именно то что я искал |
| Автор: Klin 28.3.2009, 20:43 |
| _Dimon_, иногда я бываю резок, но я лишь хотел посоветовать, как лучше всего подойти к изучению языка. |