Blz Davi, vou testar esta função mas por enquanto tive que resolver usando o
/s na opção.

Obrigado.

2008/6/13 Davi Eduardo Borges Wall <[EMAIL PROTECTED]>:

>   Aí! 500 pila a solução pronta.
>
> Aproveita que hoje estou generoso! Pode depositar nessa conta HSBC -
> 018-112888-8 !!!!
>
> function TFormMain.RegisterActiveXServer(const ServerLocation: string;
> Register: Boolean): Boolean;
>
> var
>
> ServerDllRegisterServer: function: HResult; stdcall;
>
> ServerDllUnregisterServer: function: HResult; stdcall;
>
> ServerHandle: THandle;
>
> procedure UnloadServerFunctions;
>
> begin
>
> @ServerDllRegisterServer := nil;
>
> @ServerDllUnregisterServer := nil;
>
> FreeLibrary(ServerHandle);
>
> end;
>
> function LoadServerFunctions: Boolean;
>
> begin
>
> Result := False;
>
> ServerHandle := SafeLoadLibrary(ServerLocation);
>
> if (ServerHandle <> 0) then
>
> begin
>
> @ServerDllRegisterServer := GetProcAddress(ServerHandle,
> 'DllRegisterServer');
>
> @ServerDllUnregisterServer := GetProcAddress(ServerHandle,
> 'DllUnregisterServer');
>
> if (@ServerDllRegisterServer = nil) or (@ServerDllUnregisterServer = nil)
> then
>
> UnloadServerFunctions
>
> else
>
> Result := True;
>
> end;
>
> end;
>
> begin
>
> Result := False;
>
> try
>
> if (LoadServerFunctions) then
>
> try
>
> case (Register) of
>
> False: Result := ServerDllUnregisterServer = S_OK;
>
> True: Result := ServerDllRegisterServer = S_OK;
>
> end;
>
> finally
>
> UnloadServerFunctions;
>
> end;
>
> except
>
> end;
>
> end;
>
> De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto:
> delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em nome de
> Rubem Nascimento da Rocha
> Enviada em: sexta-feira, 13 de junho de 2008 11:04
> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> Assunto: RE: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
> Prioridade: Alta
>
>
> Então, verifique um projeto de exemplo na pasta $(DELPHI)\Demos\ActiveX
> chamadp TRegExpr.dpr. O código fonte desse projeto tem o que vc precisa pra
> fazer o registro de DLLs (lógico, desde que as DLLs sejam do tipo COM!).
>
> Sds.
>
> ________________________________
>
> To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> From: [EMAIL PROTECTED] <jericssonsup%40gmail.com> <mailto:
> jericssonsup%40gmail.com <jericssonsup%2540gmail.com>>
> Date: Fri, 13 Jun 2008 01:10:14 -0300
> Subject: Re: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
>
> Eu já estou usando dessa forma, mas como são 4 DLL e estou usando o
> registro
> simultâneo em vários processos, está apresentando problemas e em algumas
> não
> sei porque mesmo usando o /s esta aparecendo a msg para o usuário confirma.
>
> 2008/6/12 Rubem Nascimento da Rocha <[EMAIL 
> PROTECTED]<djpardalrocha%40hotmail.com><mailto:
> djpardalrocha%40hotmail.com <djpardalrocha%2540hotmail.com>> >:
>
> >
> > Mas se ele fizer assim:
> >
> > WinExec(pchar('regsvr32.exe /s ' + drive + '\WINNT\SYSTEM32\midas.dll'),
> > SW_NORMAL);
> >
> > registra de forma silenciosa, sem pedir confirmação ou mostrar caixa de
> > diálogo!
> >
> > Sds.
> >
> > ________________________________
> >
> > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> > From: [EMAIL PROTECTED] <davi.wall%40mult.com.br> <mailto:
> davi.wall%40mult.com.br <davi.wall%2540mult.com.br>>
> > Date: Thu, 12 Jun 2008 17:58:58 -0300
> > Subject: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
> >
> >
> > Para fazer isso sem chamar o executável vc tem que chamar o procaddress
> > referente ao método DLLRegisterServer da DLL que vc quer registrar.
> >
> > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> [mailto:
> > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> ] Em
> nome de
>
> > Jorge Ericsson
> > Enviada em: quinta-feira, 12 de junho de 2008 17:01
> > Assunto: [delphi-br] URGENTE: Registrar DLL pelo delphi
> >
> > Olá amigos, eu preciso registrar algumas DLL na instalação de meu
> programa,
> > mas não gostaria de utilizar o comando
> >
> > WinExec(pchar('regsvr32.exe ' + drive + '\WINNT\SYSTEM32\midas.dll'),
> > SW_NORMAL);
> >
> > Porque nesse caso registra mais fica a tela de confirmação pro usuário.
> >
> > Se não me engano tem uma utni que faz isso, mas não estou encontrando a
> > danada...
> >
> > Alguém já passou por esse problema e poderia ajudar-me ???
> >
> > Valew,
> >
> > Jorge Ericsson S. Pinheiro
> > Analista/Projetista de Sistemas
> > Ericsson Sistemas e Soluções
> > http://www.jericsson.com.br
> > 61 9227.4785 / 3967.6172
> > Brasília - DF
> >
>
> --
> Att,
>
> Jorge Ericsson S. Pinheiro
> Analista/Projetista de Sistemas
> Ericsson Sistemas e Soluções
> http://www.jericsson.com.br
> 61 9227.4785 / 3967.6172
> Brasília - DF
>
> __________________________________________________________
> Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o
> Messenger! É GRÁTIS!
> http://www.msn.com.br/emoticonpack
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Att,

Jorge Ericsson S. Pinheiro
Analista/Projetista de Sistemas
Ericsson Sistemas e Soluções
http://www.jericsson.com.br
61 9227.4785 / 3967.6172
Brasília - DF


[As partes desta mensagem que não continham texto foram removidas]

Responder a