Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
8-1177139219
borodaj
2007-04-21 11:06
2008.03.30
Работа с изображениями...


2-1204140089
NieL
2008-02-27 22:21
2008.03.30
Вывод альфа-канала


15-1203260546
Dark
2008-02-17 18:02
2008.03.30
nmhttp


15-1202977911
pasha_golub
2008-02-14 11:31
2008.03.30
Скрипт консольный


2-1204201273
mrfreeman2007
2008-02-28 15:21
2008.03.30
Вывод компа из спячки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский