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

Вниз

Помогите пожалуйста!   Найти похожие ветки 

 
Bob5   (2001-12-04 07:52) [0]

Имеются DLL которые обрабатывают документы(каждая свой документ).
как обнаружить и подключить DLL с новыми документами в каталоге откуда запускается прога. DLL Юзеру ложаться без уведомления а прога должна их подцепить при запуске проги


 
Ura   (2001-12-04 11:39) [1]

Самый простой совет -
Это сделать во всех DLL - функцию которая говорит проге какие документы она обрабатывает, или записывает это в реестре. А прога будет либо смотреть в реестр - для каждого документа, либо держать в себе список документов и DLL которые их обрабатывают.
Следует после запуска опросить все DLL - на придмет данной функции.


 
bob5   (2001-12-04 12:19) [2]

to Ura
Спасио за ответ!
Все что вы сказали про функцию сделано
проблема как раз в Этом и есть:
>Следует после запуска опросить все DLL - на предмет данной функции

Вот это мне и не доступно, мне приходилось работать только с базами
Если можно кусочек кода или совет как это сделать можно мылом

Заранее спасибо!


 
bob5   (2001-12-04 12:37) [3]

Интересует только получение имен DLL в заданном каталоге и в каталоге запуска проги остальное понятно.

Заранее спасибо!


 
Владислав   (2001-12-04 12:56) [4]

Поищи на форуме "поиск файлов" и тому подобное.


 
GrEG   (2001-12-04 16:08) [5]


procedure GetFiles(sl:TstringList;DirName,FileMask:string);
var
sr:TSearchRec;
i:integer;
begin
if sl = nil then exit;
sl.Clear;
i:=FindFirst(DirName+"\"+FileMask,faAnyFile,sr);
try
while i = 0 do begin
sl.Add(DirName+"\"+sr.Name);
i:=FindNext(sr);
end;
finally
FindClose(sr);
end;
end;

Синтаксис не проверял, но, в основном, код такой.
Естественно, sl должно быть создано до вызова процедуры.
Вызови процедуру как GetFiles(sl,GetCurrentDir,"*.dll") и в sl получишь список файлов.


 
Vovchik   (2001-12-04 17:42) [6]

Чтобы определить есть такая функция или нет надо вызвать
type
MyProc = function (Parametri);

var
MyF: MyProc;
begin
Handle := LoadLibrary(NameOfDll);
if GetProcName(Handle, ProcName) <> nil then MyF := GetProcName(Handle, ProcName);
MyF(Parametri);
end;


 
bob5   (2001-12-05 05:09) [7]

Спасибо большое всем ответившим!

Последний вопрос: как определить путь откуда запускается прога?

Заранее спасибо!


 
Владислав   (2001-12-05 07:21) [8]

Из Application.ExeName извлекай путь.


 
bob5   (2001-12-05 09:23) [9]

Спасибо всем большое! Все сделал как хотелось!



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

Форум: "Система";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
3-32408
Paxer
2002-02-12 14:40
2002.03.11
Переиндексация с помощью TADOQuery


7-32592
Ajax
2001-11-23 17:23
2002.03.11
Включить комп через локалку


1-32482
GovoRun
2002-02-23 13:49
2002.03.11
InitialDir for OpenDialog


1-32458
Ig
2002-02-19 22:08
2002.03.11
Как правильно обработать сообщения?


4-32607
ЛамерОК
2002-01-07 19:41
2002.03.11
Блокировка клавиш!





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