![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
предача и возврат данных dll
xorload © (2007-09-18 14:45:00)Как лучше и корректнее передавать записи вызовам dll? Сама запись содержит Integer, Word, String, ShortString (если это важно). И тот же вопрос как возвращать результат функции из dll если она содержит запись. Какие при этом могут быть типичные ошибки в конструкции всей этой системы?
И ещё такой вопрос, а как можно (и можно ли вообще) возбудить и передать асинхронно данные приложению из dll? Т.е. я загружаю саму библиотеку, а через некоторое время, мне сама библиотека, без просьбы приложения, должна отдачать данные (аля события). Может это как-то через сообщения Windows?
Инс (2007-09-19 10:38:00) [1]
> лучше избавиться от string и заменить PCHAR;
В таком виде - не самый хороший совет...
Loginov Dmitry (2007-09-18 21:10:00) [2]> а как можно (и можно ли вообще) возбудить и передать асинхронно
> данные приложению из dll? Т.е. я загружаю саму библиотеку,
> а через некоторое время, мне сама библиотека, без просьбы
> приложения, должна отдачать данные (аля события).
Причем тут вообще DLL? Если можешь все задуманное выполнить просто в рамках отдельного модуля (в смысле языковой единицы), то значит все это сможешь сделать и с DLLкой.
Сергей М. (2007-09-18 15:46:00) [3]
> Какие при этом могут быть типичные ошибки в конструкции
> всей этой системы?
Типичные ошибки - это непонимание "memory management" - механизмов, характерных (т.е. используемых по дифолту) для той или иной среды разработки ..
DVM (2007-09-18 15:11:00) [4]
> а через некоторое время, мне сама библиотека, без просьбы
> приложения, должна отдачать данные (аля события). Может
> это как-то через сообщения Windows?
Можно конечно и через сообщения можно. Например, то же WinSock так работает, когда используются асинхронные сокеты на сообщениях
DVM (2007-09-18 15:09:00) [5]
> Как лучше и корректнее передавать записи вызовам dll?
указатели на структуру
> Сама запись содержит Integer, Word, String, ShortString
> (если это важно).
лучше избавиться от string и заменить PCHAR;
> как возвращать результат функции из dll если она содержит
> запись.
Функция должна заполнять запись переданную в нее с указателем