Re: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
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 [mailto: > delphi-br@yahoogrupos.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 > 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 > > From: [EMAIL PROTECTED] jericssonsup%40gmail.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 > >: > > > > > 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 > > > From: [EMAIL PROTECTED] davi.wall%40mult.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@yahoogrupos.com.br delphi-br%40yahoogrupos.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]
RES: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
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 [mailto:[EMAIL PROTECTED] Em nome de Rubem Nascimento da Rocha Enviada em: sexta-feira, 13 de junho de 2008 11:04 Para: delphi-br@yahoogrupos.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 <mailto:delphi-br%40yahoogrupos.com.br> From: [EMAIL PROTECTED] <mailto:jericssonsup%40gmail.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] <mailto:djpardalrocha%40hotmail.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 <mailto:delphi-br%40yahoogrupos.com.br> > From: [EMAIL PROTECTED] <mailto:davi.wall%40mult.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 <mailto:delphi-br%40yahoogrupos.com.br> > [mailto: > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.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]
RE: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
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 From: [EMAIL PROTECTED] 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]>: > > 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 > From: [EMAIL PROTECTED] > 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 [mailto: > delphi-br@yahoogrupos.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
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]>: > > 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 > From: [EMAIL PROTECTED] > 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 [mailto: > delphi-br@yahoogrupos.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 > > __ > Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! > http://www.amigosdomessenger.com.br/ > > -- 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]
RE: RES: [delphi-br] URGENTE: Registrar DLL pelo delphi
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 From: [EMAIL PROTECTED] 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 [mailto:[EMAIL PROTECTED] 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 _ Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! http://www.amigosdomessenger.com.br/
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 [mailto:[EMAIL PROTECTED] 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 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]