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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2012, 13:17
cybervampire cybervampire вне форума
Прохожий
 
Регистрация: 22.03.2012
Сообщения: 12
Репутация: 10
По умолчанию Version dll

Вообщем суть вопроса такова:
Есть dll-ка, в ней находиться ресурсный файл.
При подключении dll-ки, в приложение подгружать ресурсы из dll.
При смене дллки, с другой версией нужно подгружать другие ресурсы.
Как поставить версию в dll? и как её вызывать в приложении?
Ответить с цитированием
  #2  
Старый 19.11.2012, 13:24
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от cybervampire
Вообщем суть вопроса такова:
Есть dll-ка, в ней находиться ресурсный файл.
При подключении dll-ки, в приложение подгружать ресурсы из dll.
При смене дллки, с другой версией нужно подгружать другие ресурсы.
Как поставить версию в dll? и как её вызывать в приложении?
Поставить версию в dll можно тем же где и в exe: Меню "Project" -> "Options" -> "Version Info"
Узнавать версию функцией GetFileVersionInfo. Пример >>здесь<<.
Ответить с цитированием
  #3  
Старый 19.11.2012, 17:14
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

В RXLib был на это дело класс. В CoreLib тоже есть.
Ответить с цитированием
  #4  
Старый 20.11.2012, 00:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Для таких случаев предпочитаю создавать DLL на ассемблере.
Код:
.386
.model flat, stdcall
option casemap :none   ; case sensitive

.code

include windows.inc

DllEntry proc hInstance : HINSTANCE, reason : DWORD, reserved1 : DWORD
  .IF reason == DLL_PROCESS_ATTACH
     mov eax, TRUE
  .ELSEIF reason == DLL_PROCESS_DETACH
     mov eax, TRUE
  .ELSE
     xor eax, eax
  .endif
  ret
DllEntry Endp

My_GetVersion proc
  mov eax, 1 ; номер версии
  ret
My_GetVersion endp

end DllEntry
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter