Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2170 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

 Bom dia!!!

 

     Estou com um problema ao utilizar um WebService SOAP, que estamos criando em Delphi,

    a duvida parece ser tao na cara mas nao tenho ideia de como resolver, seguinte:

 

    nas aplicacoes normais delphi se solicitarmos ("GetCurrentDir" ou "ExtractFileDir(ParamStr(0))" ou "Application.ExeName(VCL)" ) vai retornar normalmente a pasta que a aplicacao se encontra,

    mas num WebService SOAP ISAPI Hospedado no IIS do Windows, esses comandos nao retorna o caminho atual da DLL, retorna somente isso "C:\Windows\SysWow64\Inet...";

 

    Sera que tem alguma forma de pegar o caminho exato da DLL? ou setar alguma configuracao tanto no WS ou no IIS, para a aplicacao rodar em algum lugar especifico?

 

Desde de ja agradeço.

   

  • Membros Pro
Postado
1 minuto atrás, Amarildo de Matos disse:

bom dia.. heto.tud bem..

eu nao entendo bem em relação a linguaguem, mas sera que se voce pegar a dll, e jogar na pasta da sua aplicação nao daria certo?

Ola @Amarildo de Matos, entao, ja esta na pasta da minha aplicacao, a questao é que minha aplicacao pode ter caminho variavel, nao é um caminho fixo, poder ser em qualquer particao.

 e é exatamente devido a isso que estou tendo esse problema.

Postado

bom .. vou falar em termos da minha linguaguem..

quando eu instalo uma aplicacao, o nome sempre fica erpmatos, exemplo:

se eles instalam em qualquer diretorio, o subdiretorio, sempre sera erpmatos.

entao quando chamo ele e procuro algo, sempre coloco

fexedir() + diretorio,,  que é pasta atual.

sera que tu nao pode fazer algo parecido?

  • Fundadores
Postado
Em 01/12/2018 at 10:41, hetoandrade disse:

    nas aplicacoes normais delphi se solicitarmos ("GetCurrentDir" ou "ExtractFileDir(ParamStr(0))" ou "Application.ExeName(VCL)" ) vai retornar normalmente a pasta que a aplicacao se encontra,

    mas num WebService SOAP ISAPI Hospedado no IIS do Windows, esses comandos nao retorna o caminho atual da DLL, retorna somente isso "C:\Windows\SysWow64\Inet...";

 

    Sera que tem alguma forma de pegar o caminho exato da DLL? ou setar alguma configuracao tanto no WS ou no IIS, para a aplicacao rodar em algum lugar especifico?

O que exatamente, ParamStr(0) retorna ?

Talvez esse Post dê a resposta a sua pergunta:

https://stackoverflow.com/questions/7793993/iis-and-delphi-get-the-application-folder-inside-isapi

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 2 semanas depois ...
  • Membros Pro
  • Solution
Postado (editado)
Em 03/12/2018 at 17:20, Daniel Simoes disse:

O que exatamente, ParamStr(0) retorna ?

Talvez esse Post dê a resposta a sua pergunta:

https://stackoverflow.com/questions/7793993/iis-and-delphi-get-the-application-folder-inside-isapi

 

 

 Era isso Mesmo, segue abaixo como consegui pegar caminho exato:

 

uses
  Winapi.Windows

 

function TWM.GetModuleFileSpec: String;
var
  cret: integer;
  ModName: array[0..MAX_PATH - 1] of Char;
begin
  GetModuleFileName(HInstance, ModName, SizeOf(ModName));
  cret := GetLongPathName(ModName, ModName, SizeOf(ModName));
  SetString(Result, ModName, cret);
end;

 

function TWM.GetModulePath: String;
begin
  Result := ExtractFilePath(GetModuleFileSpec);
end;

 

 

var Caminho := GetModulePath;

Editado por hetoandrade
Clareza
  • Curtir 3
  • Este tópico foi criado há 2170 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.