Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Информация о написании DLL, В разрезе С++ Builder 
:(
    Опции темы
Sharkfire
Дата 11.12.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 30.11.2006
Где: Одесса

Репутация: 2
Всего: 2



Сейчас занимаюсь той-же проблемой.

Начал писать программку и наткнулся на ошибку PRIVILAGED INSTRACTION при попытке вызвать функцию из DLL

Код вызова:
Код

if(lib)
InitInfo = (getInitInfoProt) (lib,"getInitInfo");
....

lib = LoadLibrary("C:\\Documents and Settings\\Администратор\\Мои документы\\RAD Studio\\Projects\\Module\\TestModule\\Debug\\test_dll.dll");
if(lib)
InitInfo = (getInitInfoProt) (lib,"getInitInfo");
wchar_t newName[25]={0};
wchar_t newVersion[15]={0};
wchar_t newDesc[100]={0};
InitInfo(newName,newVersion,newDesc); //<<- ошибку выбивает тут
FreeLibrary(lib);


Хедер DLL:
Код

#include <WideStrUtils.hpp>
extern "C"
{
void __declspec(dllexport) __stdcall getInitInfo(wchar_t *Name,wchar_t *Version,wchar_t  *Desc);
}


Реализация DLL

Код

//-------------------------------------------------------------------------
void __stdcall getInitInfo(wchar_t *Name,wchar_t *Version,wchar_t  *Desc)
{
  try
  {
  WStrCopy(Name,L"Test Module");
  WStrCopy(Version,L"v.1");
  WStrCopy(Desc,L"Отладка модульной системы");
  }
//-------------------------------------------------------------------------
  catch(...)
  {
  Log("getInitInfo call error!");
  }
}
//-------------------------------------------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
  return 1;
}



помогите если кто знает в чём бролема
PM MAIL ICQ   Вверх
xvr
Дата 11.12.2009, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



А что такое getInitInfoProt? И чему равен InitInfo на момент вызова? И как он описан (сама переменная InitInfo) в программе?


PM MAIL   Вверх
vikaz
Дата 11.12.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Цитата(artsb @  11.12.2009,  17:59 Найти цитируемый пост)
Я уже сделал...Ты был прав! Но я думал... Теперь придётся "думать" по-другому  smile  

smile 


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
shklowsky
Дата 12.12.2009, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 21.7.2009

Репутация: 5
Всего: 6



Цитата(Sharkfire @  11.12.2009,  18:14 Найти цитируемый пост)
InitInfo = (getInitInfoProt) (lib,"getInitInfo");

 smile 

Код

InitInfo = (getInitInfoProt) ::GetProcAddress(lib,"getInitInfo");


Это сообщение отредактировал(а) shklowsky - 12.12.2009, 16:50
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.