Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];

Вниз

Можно ли использовать .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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
1-3878
Unreal
2003-09-18 15:18
2003.10.02
TEdit, WideString;


6-4022
mma
2003-08-01 17:11
2003.10.02
HTTP headers


3-3785
Samgin
2003-09-11 12:54
2003.10.02
Record already locked by this session


3-3707
eds
2003-09-10 18:23
2003.10.02
Какой формат выбрать?


1-3899
VolanD
2003-09-17 12:53
2003.10.02
Сообщение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский