Вниз
Скачать: CL | DM;

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

← →
Uncle Archi ©   (2003-04-06 14:37) [0]

При использовании в Delphi 6 Dll, при запуски из этой Dll процедуры, потом закрытия окна происходит ощибка освобождения памяти. При запуске этой же процедуры из программы, ошибки не возникает. Что делать?
Я слышал, в Delphi 6 есть глюк в dll, то как его исправить, не качая
SP2 ?


← →
VaS ©   (2003-04-06 18:00) [1]

В D6 ошибка в виде отсутствия вызова DllProc при загрузке очередным клиентом. UP2 не исправляет. Но у тебя проблема, видимо, в PChar.


← →
Uncle Archi ©   (2003-04-06 18:55) [2]

Я этим типом почти не пользуюсь. Скоро где-нибудь выложу текст проги, тогда посмотрите.


← →
Uncle Archi ©   (2003-04-06 19:58) [3]

Вот и выложил: uncle-archi.hotbox.ru там и исходники.
Вот об ошибке:

Procedure TestProc(InF,Ans:String; max:Integer;var Ball:Integer;
Var s:String);

Если её объявить как external, после закрытия окна происходит ошибка(только нужно нажать Run и получить хотя-бы один "Ok").
Как от неё избавиться. Ошибка: "Invalid Floating ....."???


← →
DrPass ©   (2003-04-06 20:17) [4]

uses ShareMem ты в проге и в библиотеке прописал?


← →
kaif ©   (2003-04-06 21:05) [5]

Используй тип PChar вместо string в прототипах функций dll и хорошо бы еще проверить конвенцию вызова.


← →
DrPass ©   (2003-04-06 23:40) [6]

Если бы тип вызова не совпадал, она бы вообще не работала


← →
Sheng ©   (2003-04-06 23:54) [7]

При создании DLL вначале модуля пишется текст. Многие его просто удаляют, нечитая. А там написано, что в DLL категорически не рекомендуется использовать тип String, а вместо него - PChar.


← →
Uncle Archi ©   (2003-04-07 20:38) [8]

Спасибо. Попробую.


← →
Uncle Archi ©   (2003-04-07 22:48) [9]

После изменения String на PChar всё зароботало. Спасибо!



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

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



Память: 0.46 MB
Время: 0.016 c
1-76930
v.topalov
2003-04-15 11:30
2003.04.24
Курсор мыши


1-76884
Ivan L
2003-04-13 22:51
2003.04.24
Открытие файла


1-76964
Begginer
2003-04-12 23:54
2003.04.24
Конструкция c try.....except


6-77071
Lamer XP
2003-02-25 18:03
2003.04.24
Sockets


14-77100
Palladin
2003-04-07 11:58
2003.04.24
реально ли это?




   Наверх