Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.09.2010, 23:03
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию Проблема с выгрузкой DLL

Имеется код загрузки библиотеки и вытаскивание с нее код ХТМЛ страници
PHP код:
procedure ChangeHTMLStyle;
 var
 
h:Thandle;
 
GetStyle:function:string;
 
g:string;
 
begin
 
if not fileExists(ap+'Styles\'+CurrentStyle) then
  begin
  MessageDLg('
невожможно найти библиотеку',mtError,[mbOk],0);
  exit;
  end;
 //
 g:=ap+'
Styles\'+CurrentStyle;
 h:=loadlibrary(@g[1]);
 GetStyle:=GetProcAddress(h,'
GetStyle');
 body:=GetStyle;
FreeLibrary(h);
 body:=stringReplace(body,'
dirlink',ap+'Styles\',[rfReplaceAll]);
 end; 

Проблема вот в чём. При выполнени FreeLibrary(h); возникает искльючение "Access violation". Пошагово проверял процедуру. Функция находится, ХТМЛ код достается, а вот на этой строке возникает исключение. В программе есть почи такой же код и он прекрасно работает. Возможно у кого-то возникала такая проблема? Помогите пожалуста....
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #2  
Старый 13.09.2010, 13:06
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Проблема решена. Для техкто вляпается также:
1. Ищем в нете моулю FastShareMem
2. ДОбавляем в свой проект и в ДЛЛ в Uses. Даный модуль должен быть самым первым в списке.
3. Запускаем и всё работает.
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
  #3  
Старый 13.09.2010, 13:18
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

А что, стандартный ShareMem не прокатывает?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #4  
Старый 13.09.2010, 18:28
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Когда используешь ShareMem, то приходится таскать за собой BORLNDMM.DLL.
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #5  
Старый 13.09.2010, 18:48
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

не совсем по-русски:
http://www.codexterity.com/fastsharemem.htm
имхо, а почему бы вообще от передачи string в/из dll не отказаться вовсе?
Ответить с цитированием
  #6  
Старый 13.09.2010, 22:16
Аватар для Bars1992
Bars1992 Bars1992 вне форума
Активный
 
Регистрация: 24.04.2010
Адрес: Украина, Кременчуг
Сообщения: 249
Репутация: 22
По умолчанию

Цитата:
Сообщение от Thrasher
Когда используешь ShareMem, то приходится таскать за собой BORLNDMM.DLL.
Ты прав. По етой причине я отказался от стандартного модуля.

Цитата:
Сообщение от NumLock
имхо, а почему бы вообще от передачи string в/из dll не отказаться вовсе?

1. Обычный юзер не вскроет код
2. До данной библиотеки будут додаватца другие финкции и процедуры.
3. Не хочется замарачиватся с обыными файлами, их шифрофкой и дешифровкой.

В моем случае DLL как раз подходит
__________________
Не твори зла, и жизнь повернется к тебе передом
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025