Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

экспорты   Найти похожие ветки 

 
vasa777   (2012-06-07 13:52) [0]

Пишется рантайм бпл, на основе которого будет создаваться десигнтайм бпл с компонентами. Юниты этих двух бпл будут также использоваться при написании длл.
Вопрос: можно ли сразу описывать процедуры в юнитах, подключаемых к бпл, как предназначеные для длл, т.е. например:

{} Function My(Const x:Int64):Integer; StdCall;

Exports My;

Implementation

Function My(Const x:Int64):Integer;
begin
..
end;

или лучше все функции писать "нормально", а после при разработке длл делать для них еще обертку для экспорта? В первом случае экономится время, но не будет ли при этом какихто последствий при работе простых компонет (когда длл не юзаем)?


 
Давайте будем жрать!   (2012-06-07 14:03) [1]


> можно ли
Можно, но не нужно. Есть мнение, что ты не разобрался толком, для чего нужны пакеты времени выполнения и как с ними работать.


 
vasa777   (2012-06-07 14:12) [2]

пакеты тут не главное я думаю, скорее юниты, которые будут юзать проги при обычной разработке с компонентами (ну возможно и те проги, которые будут с бпл компилится) - там вот всякие exports и stdcall ни на что же не повлияют, если их никто не трогает и не вызывает? Или памяти будет больше расходоваться или еще какие ситуации могут критические возникнуть?


 
Dennis I. Komarov ©   (2012-06-07 22:29) [3]

ИМХО:
bpl + stdcall = XYZ


 
Amoeba_   (2012-06-07 22:32) [4]


> Dennis I. Komarov ©   (07.06.12 22:29) [3]
>
> ИМХО:
> bpl + stdcall = XYZ

И без IMHO stdcall в bpl - нонсенс.


 
vasa777   (2012-06-08 00:08) [5]

главное что работает


 
Юрий Зотов ©   (2012-06-08 00:29) [6]

> vasa777   (07.06.12 13:52)

В принципе, так делать можно но стоит хорошо подумать, нужно ли. Скажем, если эта DLL будет "контачить" только с Delphi-программами, то stdcall можно совсем нигде не писать.


 
vasa777   (2012-06-08 12:49) [7]

контачить с delphi, C# и VB


 
Cobalt ©   (2012-06-08 17:06) [8]

Вообще никакой разницы есть - все языки, которые экспортируют функции из ДЛЛ, способны экспортировать функции указанного типа, главное указать, какой у них стиль вызова - См. http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0


 
Давайте будем жрать!   (2012-06-08 17:54) [9]

Забавно... Случайно наткнулся на http://www.transl-gunsmoker.ru/2011/09/exported-functions-that-are-really.html, похоже, автор хочет чего-то такого.



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

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.074 c
3-1278782038
TechnoDreamer
2010-07-10 21:13
2013.03.22
DBX Error: Unsupported field type


15-1339705802
Юрий
2012-06-15 00:30
2013.03.22
С днем рождения ! 15 июня 2012 пятница


2-1344777069
Pcrepair
2012-08-12 17:11
2013.03.22
TidHTTP Indy 10 отказывается закачать файл


4-1259681083
kanibal
2009-12-01 18:24
2013.03.22
Как программно определить какие библиотеки использует приложение?


6-1263641367
RokWeb
2010-01-16 14:29
2013.03.22
Отправка пакета по сети(Winsock2).