Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

DLL   Найти похожие ветки 

 
Новик ©   (2003-07-25 16:40) [0]

Ув. мастера! Объясните человеку! Есть библиотека dll
и функция в оной. Функция типа Show(var s:string).
Когда я использую (динамически)эту функцию у себя в проге,
то если s не изменило своего значения, то все проходит OK.
Если же s изменилась, то функция без проблем выполняется, но
при выполнении FreeLibrary выползает ужасная системная ошибка (
типа Access violation at Adres такой то)
которую не "гасит" даже try..except. Самое обидное, что кроме
этой ошибки все работает нормально. Даже можно заново без
проблем загрузить вышеописанную dll. Правда с теми же последствиями. Почему такая несправедливость?


 
MBo ©   (2003-07-25 16:44) [1]

sharemem?


 
aa5E1   (2003-07-25 16:52) [2]

Во первых... никогда не передавай Dll в значении тип String лучше делай это PChar. То есть Show(var s:PChar). Это даже написано когда создаеш в дельфи длл (только по английски).
Во вторых... попробуй пойти другим путем. Попробуй сделать так function Show(s: PChar):PChar;, т.е. твоя строка будет выдаваться как результат.
Если же у тебя на выходе уже есть чтото то тогда попробуй просто переделать в PChar может полегчает. Я сам никогда так заморочено стараюсь не делать.


 
ggsoft ©   (2003-07-25 17:05) [3]


> aa5E1 (25.07.03 16:52)

PChar - уже P(pointer) не надо - Show( var s:PChar).
и Show(s: PChar) :PChar - тоже не надо...
если уж не использовать String и ShareMem то -
function Show(lpszData: PChar; cbData: LongInt): LongInt; xxx

2 Новик - см. MBo


 
Новик ©   (2003-07-28 10:10) [4]

Спасибушки, попробуем.



Страницы: 1 вся ветка

Текущий архив: 2003.08.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
4-33411
Degobar
2003-06-08 18:06
2003.08.11
Активизация окна


1-33110
Новенький
2003-07-28 23:14
2003.08.11
Вопрос по Memo


14-33274
Dmitriy O.
2003-07-25 12:08
2003.08.11
Сколько оперативки должно быть у программиста


14-33330
trotski
2003-07-22 00:13
2003.08.11
Программистская документация


14-33275
SergeySEM
2003-07-25 15:50
2003.08.11
Как запустить прогу на уд.компе