Главная страница
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.017 c
1-33118
dmitry99
2003-07-30 05:31
2003.08.11
В дизайнере RAVE 5.0 не удается сохранить проект отчета (.rav)


14-33346
fofa
2003-07-25 13:16
2003.08.11
Где взять лицензию на InterBase 6.0.1хххх (-)


14-33281
Axel
2003-07-23 18:13
2003.08.11
O !


1-33168
McSimm2
2003-07-28 14:21
2003.08.11
pchar >> integer


14-33298
VEG
2003-07-17 13:40
2003.08.11
Говорили, что W98 официально похоронят в конце июня...