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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-32558
CB
2002-01-28 07:59
2002.03.11
БД


1-32446
Максимка
2002-02-22 19:35
2002.03.11
Как обрабатывать события от динамически создаваемых элементов?


1-32459
b00ts0
2002-02-22 23:01
2002.03.11
ламерский вопрос относительно чата для локальной сети


3-32393
Biocron
2002-01-11 00:23
2002.03.11
База MDB на Delphi


3-32392
Nest
2002-02-12 11:26
2002.03.11
Надо сформировать запрос (Select). Мыслб крутится, но не могу ухвтить - помогите пожалуйста. Очень пожалуйста.