Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
ВнизПроблема с dll Найти похожие ветки
← →
Леха (2008-02-27 23:57) [0]Помогите решить проблему! Дело в том что, я в своей программе использую статическую DLL,так вот если я при выполнении программы не использую функции которые в DLL все хорошо, как только я использую какую нибудь функцию из DLL, то при выходе из программы у меня вываливается сообщение о ошибке!
← →
Amoeba © (2008-02-28 00:00) [1]У тебя ошибка в 17-й строке!
← →
Леха (2008-02-28 00:06) [2]>У тебя ошибка в 17-й строке!
В смысле?
В при трасировке я обнаружил, что при вызове функции FreeMem происходит ошибка!
← →
korneley © (2008-02-28 00:08) [3]Поподробнее, что за DLL, как "связываешь" (хотя вроде статически?) что за функции... Иначе - см. [1]
← →
Loginov Dmitry © (2008-02-28 00:10) [4]Почитай про ShareMem. Весчь полезная.
← →
korneley © (2008-02-28 00:11) [5]
> при вызове функции FreeMem происходит ошибка!
Так чегоFree
- то? Еще раз, поподробнее...
← →
Леха (2008-02-28 00:17) [6]В этой Dll находятся функции работы со строками, при переносе этих функций в программу никаких ошибок не происходит, при их использовании, а как начинаешь вызывать из Dll, так при выходе ошибка! Dll статическая(распологаю после implementation
), может попробовать динамически подгружать?
← →
ЦУП © (2008-02-28 00:26) [7]
> Леха (28.02.08 00:17) [6]
> Loginov Dmitry © (28.02.08 00:10) [4]
> Почитай про ShareMem. Весчь полезная.
← →
Amoeba © (2008-02-28 00:28) [8]
> В этой Dll находятся функции работы со строками,
Отсюда и ноги растут.
Ты хоть потрудился прочесть тот объемный текст, котрый генерирует Delphi пр создании DLL? Или чукча не читатель, чукча писатель?
← →
Леха (2008-02-28 00:29) [9]А не подскажете, где можно прочитать про ShareMem, я рылся в MSDN никакого упоминания нет!?
← →
Amoeba © (2008-02-28 00:32) [10]Тебе уже сказали, что читать:
тот объемный текст, котрый генерирует Delphi пр создании DLL.
← →
Леха (2008-02-28 00:33) [11]Ну, спасибо за советы!
← →
ЦУП © (2008-02-28 00:33) [12]
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.
← →
Amoeba © (2008-02-28 00:36) [13]
> Леха (28.02.08 00:33) [11]
>
> Ну, спасибо за советы!
>
Это сарказм или благодарность?
> ЦУП © (28.02.08 00:33) [12]
И нахрена оказывать этому чудику медвежью услугу?
← →
Леха (2008-02-28 00:38) [14]Это была благодарность! Какой сарказм!?
← →
Леха (2008-02-28 00:41) [15]Огромное Вам спасибо,товарищи программисты,все работает!!!
← →
Amoeba © (2008-02-28 00:44) [16]
> еха (28.02.08 00:38) [14]
>
> Это была благодарность! Какой сарказм!?
>
Примите мои извинения. Надеюсь, что инцидент исчерпан.
← →
Леха (2008-02-28 00:47) [17]Некакого инцидента и не было, я сам виноват, нормально паписать не могу!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c