GARANTIR DESCONTO

Fórum Pegar pasta atual da DLL #341181

02/05/2007

0

Olá pessoal..

Seguinte.. estou tendo um problema meio estranho... tenho um programa feito por mim, que está em uma determinada pasta (C:\prg por exemplo) e algumas DLL´s compartilhadas que estão em outra pasta(c:\LIB por exemplo).

Dentro de uma DLL, em um determinado procedimento eu preciso pegar a pasta atual, mas a pasta onde está a DLL e não o executável que a está chamando, pois nesta pasta da DLL eu tenho um arquivo de configuração que ela precisa ler.

Quando eu chamo a função ExtractFilepath(application.ExeName) recebo a pasta onde está o executável (c:\prg) e não onde está a DLL (c:\lib). Como eu faço para pegar a pasta onde se encontra a DLL?

Muito Obrigado.
Alemão


Prgdelphi

Prgdelphi

Responder

Posts

02/05/2007

Paullsoftware

Quando eu chamo a função ExtractFilepath(application.ExeName) recebo a pasta onde está o executável (c:\prg) e não onde está a DLL (c:\lib). Como eu faço para pegar a pasta onde se encontra a DLL?
mais aqui você está fazendo referencia ao executavel da aplicação...

Pergunta! atavés do seu sistema vc consegue encontrar as dll´s??
uma solução simples seria vc guardar os paths em um arquivo ini/xml e fazer as chamadas através desse arquivo...
Seguinte.. estou tendo um problema meio estranho... tenho um programa feito por mim, que está em uma determinada pasta (C:\prg por exemplo) e algumas DLL´s compartilhadas que estão em outra pasta(c:\LIB por exemplo).
sinceramente não vejo necessidade de ter arquivos da mesma aplicação em diretórios diferentes, o ideal é que fosem sub-diretórios ficaria até mais simples pra você mesmo...


Responder

Gostei + 0

03/05/2007

Prgdelphi

É.. eu concordo com você, também não vejo a necessidade de deixar a DLL em outra pasta, mas acontece que ela é compartilhada entre varios aplicativos do cliente, então, ela teria que ficar em uma unica pasta, de onde seria chamada por todos os programas.

Também tinha pensado no parametro informando a pasta, mas achei que o Delphi possuia alguma função para determinar a pasta. Vou ter que optar por esta solução mesmo.

Muito obrigado!


Responder

Gostei + 0

02/10/2014

Adriano Neto

function GetModuleName: string;
var
szFileName: array[0..MAX_PATH] of Char;
begin
FillChar(szFileName, SizeOf(szFileName), #0);
GetModuleFileName(hInstance, szFileName, MAX_PATH);
Result := szFileName;
end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar