Fórum dcc32.exe Como eu faco para pegar o Library Path do delphi? #281739
16/05/2005
0
Estou usando Delphi 7 e preciso que minha aplicacao compile
um projeto. Ela so ira ser executada nos computadores dos
desenvolvedores....
Acontece que eu preciso pegar do delphi em runtime o library path... aquele q a gente configura em Tools|Environment Options|Library|Library Path:
Assim eu passo como parametro pro dcc32....
Mas se alguem souber como compilar sem passar os paths tambem... acho melhor :D
Alem disso, gostaria que aparecesse a janela de compilacao do delphi, igual aparece na instalacao do Jedi... achei legal aquilo... mas eh soh perfumaria..
nao eh necessario :D
vlw!!!!
_chiappone_
Curtir tópico
+ 0Posts
16/05/2005
_chiappone_
Criei o codigo abaixo:
function TfrmMain.PegaLibraryPath : string;
var
reg : TRegistry;
const
{$IFDEF VER130}
VERSAO_DELPHI = ´5.0´;
{$ENDIF}
{$IFDEF VER140}
VERSAO_DELPHI = ´6.0´;
{$ENDIF}
{$IFDEF VER150}
VERSAO_DELPHI = ´7.0´;
{$ENDIF}
CAMINHO_LIBRARY_PATH = ´\Software\Borland\Delphi\´ + VERSAO_DELPHI + ´\Library´;
KEY_SEARCH_PATH = ´Search Path´;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey(CAMINHO_LIBRARY_PATH, False);
result := reg.ReadString(KEY_SEARCH_PATH);
end;
Agora, o dcc32.... nao estou conseguindo passar o library path pra ele.
Estou utilizando a opcao -I e passando os paths, mas quando aparece uma pasta com um espaco no nome, por ex: C:\Fontes ClubeDelphi, ele se perde.
No exemplo, ele acusaria o erro: File not found: ClubeDelphi.dpr
Alguem sabe como passar isso?
Gostei + 0
16/05/2005
Kotho
Gostei + 0
16/05/2005
_chiappone_
Substitui -I por -U e compilou.... com os 3 (tem tb o -R, de resources) tb funciona...
vou deixar com as 3 mesmo....
Agora eu to quebrando a kbca com outra coisa... executar a linha de comando... se alguem puder me ajudar como executar em delphi... tentei
WinExec mas nao fui muito feliz... tentei ShellExecute (jah ouvi falar disso) mas nao sei qual unit esta e no help do delphi nao tem referencia a esse comando... ms blz
Vlwz ae!!
Gostei + 0
16/05/2005
Thiago Vidal
Consegui fazer a rotina funcionar da seguinte forma:
program dcctest;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows,
Registry;
function GetLibPath: string;
const
cRegKey = ´\Software\Borland\BDS\3.0\Library´;
begin
with TRegistry.Create do
try
OpenKey(cRegKey, False);
Result := ReadString(´Search Path´);
finally
Free;
end;
end;
const
DCC32 = ´c:\Arquivos de Programas\Borland\BDS\3.0\Bin\dcc32.exe´;
DPR = ´d:\projetos\temp\temp1.dpr´;
cCmdLine = ´"¬0:s" -B -Q -I"¬1:s" -U"¬1:s" -R"¬1:s" "¬2:s"´;
var
SearchPath: string;
CmdLine: string;
begin
SearchPath := GetLibPath;
CmdLine := Format(cCmdLine, [DCC32, SearchPath, DPR]);
WinExec(PChar(CmdLine), SW_HIDE);
Readln;
end.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)