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

Вниз

Можно ли использовать .exe, а не .dll для экспорта функций?   Найти похожие ветки 

 
Vorobyev Sergey   (2003-09-22 11:25) [0]

Привет всем!

Написал в project1.dpr:
exports
MyTest;

Откомпилировал..
Если в project2.dpr делать статический вызов функции:
procedure MyTest; stdcall; external "project1.exe";
то возникают ошибки,
если вызывать динамически (LoadLibrary, GetProcAddress), то ИНОГДА возникают ошибки (в зависимости от кода MyTest, использования VCL, и др.), а иногда нормально..
Не понимаю почему..
Может такой механизм ( экспорт функций из .exe) вообще нельзя использовать?
Кто-нибудь такое делал?
Поделитесь опытом, пожалуйста, или своими размышлениями..
--
Спасибо


 
PVOzerski ©   (2003-09-22 11:29) [1]

Я таким путем находил функции по имени из самого приложения, в котором они были объявлены.


 
ki11er   (2003-09-22 13:26) [2]

А что конкретно нужно сделать? Т.е. для чего все это?


 
oomneeq ©   (2003-09-22 13:56) [3]

приложение как и длл тоже может экспортировать процедуры.
на это запрета нету. Cносишь точно также экспортируемые ф-ии в раздел exports.
Насчет статического связывания не знаю и не представляю как это может пригодиться.
А для динамического - в GetProcAddress в этом случае указывается хэндл самого приложения. Такой расклад может иметь смысл, когда плугинам-длл есть нужда вызывать известную и заранее определенную ф-ю из приложения.
"Иногдатость" ошибок скорее говорит об ошибках кодирования, сам принцип не ошибочен.


 
Vorobyev Sergey   (2003-09-22 14:03) [4]


> А что конкретно нужно сделать? Т.е. для чего все это?

Разрабатывается приложение, выполняющее определенные функции автономно..
Но есть необходимость иногда вызывать эти функции из другого приложения.. Например "принцип экспорта из ДЛЛ" здесь очень был бы кстати..


 
mike.dld ©   (2003-09-22 14:07) [5]

А если не статически, а динамически?



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-3897
Dev
2003-09-18 14:15
2003.10.02
Работа с DLL


1-3909
SergeyM
2003-09-20 21:16
2003.10.02
Оператор if


3-3804
Paul Tremasov
2003-09-10 18:42
2003.10.02
Ovelapped I/O operation


1-3913
Doctor Deejay
2003-09-20 11:48
2003.10.02
Word и его потомки


6-4028
Тшл
2003-08-06 15:59
2003.10.02
Как отправить письмо по E-mail