![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с dll [D7, XP]
Леха © (2008-02-27 23:57:00)Помогите решить проблему! Дело в том что, я в своей программе использую статическую DLL,так вот если я при выполнении программы не использую функции которые в DLL все хорошо, как только я использую какую нибудь функцию из DLL, то при выходе из программы у меня вываливается сообщение о ошибке!
Леха (2008-02-28 00:47:00) [1]Некакого инцидента и не было, я сам виноват, нормально паписать не могу!
Amoeba (2008-02-28 00:44:00) [2]
> еха (28.02.08 00:38) [14]
>
> Это была благодарность! Какой сарказм!?
>
Примите мои извинения. Надеюсь, что инцидент исчерпан.
Леха (2008-02-28 00:41:00) [3]Огромное Вам спасибо,товарищи программисты,все работает!!!
Леха (2008-02-28 00:38:00) [4]Это была благодарность! Какой сарказм!?
Amoeba (2008-02-28 00:36:00) [5]
> Леха (28.02.08 00:33) [11]
>
> Ну, спасибо за советы!
>
Это сарказм или благодарность?
> ЦУП © (28.02.08 00:33) [12]
И нахрена оказывать этому чудику медвежью услугу?
ЦУП (2008-02-28 00:33:00) [6]
library Project1;
{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }
uses
SysUtils,
Classes;
{$R *.res}
begin
end.
Леха (2008-02-28 00:33:00) [7]Ну, спасибо за советы!
Amoeba (2008-02-28 00:32:00) [8]Тебе уже сказали, что читать:
тот объемный текст, котрый генерирует Delphi пр создании DLL.
Леха (2008-02-28 00:29:00) [9]А не подскажете, где можно прочитать про ShareMem, я рылся в MSDN никакого упоминания нет!?
Amoeba (2008-02-28 00:28:00) [10]
> В этой Dll находятся функции работы со строками,
Отсюда и ноги растут.
Ты хоть потрудился прочесть тот объемный текст, котрый генерирует Delphi пр создании DLL? Или чукча не читатель, чукча писатель?
ЦУП (2008-02-28 00:26:00) [11]
> Леха (28.02.08 00:17) [6]
> Loginov Dmitry © (28.02.08 00:10) [4]
> Почитай про ShareMem. Весчь полезная.
Леха (2008-02-28 00:17:00) [12]В этой Dll находятся функции работы со строками, при переносе этих функций в программу никаких ошибок не происходит, при их использовании, а как начинаешь вызывать из Dll, так при выходе ошибка! Dll статическая(распологаю после implementation
), может попробовать динамически подгружать?
korneley (2008-02-28 00:11:00) [13]
> при вызове функции FreeMem происходит ошибка!
Так чегоFree- то? Еще раз, поподробнее...
Loginov Dmitry (2008-02-28 00:10:00) [14]Почитай про ShareMem. Весчь полезная.
korneley (2008-02-28 00:08:00) [15]Поподробнее, что за DLL, как "связываешь" (хотя вроде статически?) что за функции... Иначе - см. [1]
Леха (2008-02-28 00:06:00) [16]>У тебя ошибка в 17-й строке!
В смысле?
В при трасировке я обнаружил, что при вызове функции FreeMem происходит ошибка!
Amoeba (2008-02-28 00:00:00) [17]У тебя ошибка в 17-й строке!