Главная страница
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.624 c
15-1351711327
Дмитрий С
2012-10-31 23:22
2013.03.22
Логи


2-1345366688
Наивный
2012-08-19 12:58
2013.03.22
Как избежать разрушения после TMyIoClass.Destroy.


15-1329506289
TUser
2012-02-17 23:18
2013.03.22
Элемент униформы


15-1344579813
AV
2012-08-10 10:23
2013.03.22
У TObject надо 8 байт оттяпать. Можно, не затерев ничего важного?


2-1339344105
Pcrepair
2012-06-10 20:01
2013.03.22
несколько вариантов кода IdHTTP: что выбрать?