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]