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

Вниз

Проверка наличия DLL   Найти похожие ветки 

 
тихий вовочка   (2004-02-22 14:09) [0]

У меня статически DLL прикреплена. Но если ее нет в папке с программой и в системных, то прога вылетает с ошибкой. Вставил проверку еще перед Application.Initialize, но вылетает все раньше. Как быть? Писать другую прогу, которая бы проверяла и если находила только тогда запускала бы мою?


 
DiamondShark   (2004-02-22 14:17) [1]

Никак не быть.
Наличие (в случае со статической связью) проверяет не программа, а системный загрузчик.


 
Alexander666   (2004-02-22 14:19) [2]

Делай не статистическую загрузку, а динамическую - так разумней


 
DrPass   (2004-02-22 14:42) [3]

Наверное, динамическая компоновка не применяется из-за религиозных убеждений???


 
DiamondShark   (2004-02-22 14:48) [4]


> Наверное, динамическая компоновка не применяется из-за религиозных
> убеждений???

Да нет. Скорее из-за неоправданной сложности.


 
nikkie   (2004-02-22 15:13) [5]

кстати, по поводу терминологии. dll на то и dynamic-link library, чтобы всегда загружаться динамически. то, о чем идет речь, корректнее называть неявное связывание (загрузка) (implicit linking) и явное связывание (загрузка) (explicit linking).


 
Alexander666   (2004-02-22 15:17) [6]

А по-моему это игра слов: что "динамическая загрузка", что "явное связывание" - все равно будет LoadLibrary :-)


 
тихий вовочка   (2004-02-22 15:32) [7]

Да нет. Все эти LoadLibrary и прочее я давно использую, но исторически сложилось статическое связывание. Раз никак не проверить, то переделаю в динамику. Спасибо


 
Cobalt   (2004-02-22 17:04) [8]

Есть выход!
Делаешь загрузчик для твоей прогги, который проверяет наличие оной библиотеки, а в случае отсутствия - выдаёт соответствующее сообщение (ака ругается). И, соответственно, не загружает прогу.


 
тихий вовочка   (2004-02-22 22:11) [9]

Cobalt ты читал, что я писал? Зачем дублировать? Как пользоваться CreateProcess я знаю


 
Shuric   (2004-02-22 22:17) [10]

Удалено модератором


 
Гаврила   (2004-02-22 22:23) [11]

Динамическая загрузка и всех делов :-)))


 
Shuric   (2004-02-22 22:24) [12]

За что, имелась ввиду дирректива в юните проекта, а это разные вещи (Application.Initialize), если не ошибаюся.


 
Nick Denry   (2004-02-23 00:35) [13]

2>Cobalt © (22.02.04 17:04) [8]
написание собственного загрузчика - весчь не менее, а я бы сказал более трудоемкая, чем динамическая загрузка...



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

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

Наверх




Память: 0.46 MB
Время: 0.014 c
1-43621
Ш-К
2004-03-02 13:21
2004.03.14
Привести Inteface to Classes.


6-43708
Hkr
2004-01-08 03:57
2004.03.14
TraceRoute


3-43389
ИМХО
2004-02-14 09:38
2004.03.14
ADO: передать из одной таблицы в другую


1-43451
Зьмитрок
2004-02-29 22:34
2004.03.14
VCL forms application отказывается копилироваться


4-43963
FenixXaoC
2003-12-27 14:41
2004.03.14
Програмно нажать кнопку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский