Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
14-33327
Маратей
2003-07-25 10:55
2003.08.11
IExporer, Вызов окна


4-33398
IKvasnitsky
2003-06-10 11:41
2003.08.11
Вопрос о функции AdjustTokenPriveleges


1-33184
Sesh
2003-07-28 20:12
2003.08.11
Работа с датами


3-33049
RomanM
2003-07-18 11:33
2003.08.11
Выборка(фильтрация) данных


14-33265
Soft
2003-07-23 16:59
2003.08.11
Компьютерные игры для взрослых




   Наверх