Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.06.2018, 17:01   #11
Человек_Борща
Модератор
Заслуженный модератор
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Адрес: Республика Беларусь, г. Минск
Сообщений: 11,471
Репутация: 2769
По умолчанию

Цитата:
Если не затруднит - распишите пошагово, как для аутиста.
Имеем под рукой ExePE Info утилиту, толкаем туда DLL, узнаем на чем оно написано,
тыкам кнопку PE, далее Export - смотрим имена экспортируемых функций.

Далее пишем динамическую обвязку вокруг dll, т.е. грузим все через LoadLibrary, GetProcAddress, ну и переводим в паскаль SFmpqapi.h где описаны функции и типы данных используемые в библиотеке.

Версию библиотеки у меня читает:
Код:

type
  TMpqGetVersionProc = function():Extended; stdcall;

var
  hLib: THANDLE;
  hProc:TMpqGetVersionProc;
  ver: Extended;
begin
  ver := 0.0;
  if not FileExists('SFmpq.dll') then
  begin
    WriteLn('Library "SFmpq.dll" not found.');
  end else
  begin
    hLib := LoadLibrary('SFmpq.dll');
    try
      if (hLib <> 0) then
      begin
        @hProc := GetProcAddress(hLib, 'MpqGetVersion');
        if (@hProc <> nil) then
        begin
           ver := hProc();
           WriteLn('SFmpq.dll version: '+FloatToStr(ver)+' (Value = 0.0 IS INVALID VALUE)');
        end else
        begin
          WriteLn('Export function "MpqGetVersion" not found.');
        end;
      end
      else
      begin
        WriteLn('Could not load library. Error code: ' + IntToStr(GetLastError));
      end;
    finally
      CloseHandle(hLib);
    end;
  end;
  ReadLn;
end.


Последний раз редактировалось Человек_Борща; 16.06.2018 в 17:25.
Человек_Борща вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключить .dll файл к проекту free6878 Помощь студентам 0 03.07.2011 14:33
VC++. Подключить DLL к проекту. TwiX Visual C++ 5 20.06.2011 01:46
Как подключить lib файл к проекту в C++ Builder Hacker_ Общие вопросы C/C++ 0 28.10.2009 13:41
Как подключить к проекту модуль ras.pas Михаил Юрьевич Общие вопросы Delphi 3 14.03.2009 16:45
с помощью чего лучше подключить бд к проекту? Алёна БД в Delphi 2 10.01.2008 21:01


08:36.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru