A segunda opção é melhor! Não é bom manter no registro do Windows referência
de algo que não vai estar lá no computador!
Sds.

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de EmbarcaDelphi
Enviada em: sexta-feira, 26 de junho de 2009 16:39
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Como chamar esta DLL pelo Delphi? [erro]

Só um detalhe Rubem, como meu aplicativo vai "rodar" num DVD, eu posso 
registrar ele no OnCreate com a DLL no DVD e no onClose eu posso remover 
o registro, isso está correto? ou tenho de jogar a DLL em System32 
registrar e deixar a DLL lá no computador do usuário?

Pendei em fazer assim para remover o registro:

ShellExecute(Handle,
'open',
PChar('regsvr32.exe'), // <-
PChar('-u cleanup.dll'), // <-
nil,
SW_SHOW);

Mais ou menos isso....

Pode ser ou não?


Rubem Rocha escreveu:
>
>
> O arquivo Cleanup.DLL precisa ser registrado com o utilitário
> c:\windows\system32\regsvr32.exe.
> Sds.
>
> -----Mensagem original-----
> 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 EmbarcaDelphi
> Enviada em: sexta-feira, 26 de junho de 2009 15:56
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
> Assunto: [delphi-br] Como chamar esta DLL pelo Delphi? [erro]
>
> Olá pessoal
>
> Novamente com o mesmo tema, só que dessa vez já com o componente 
> instalado.
> O nome do componente criado: CleanupAPI1
>
> Estou fazendo assim:
>
> CleanupAPI1.Connect;
> try
> CleanupAPI1.Delete_IECache(1,1);
> CleanupAPI1.Delete_IECookies(1,1);
> CleanupAPI1.Delete_IEHistory(1,1);
> CleanupAPI1.Delete_DesktopRunHistory;
> finally
> CleanupAPI1.Disconnect;
> end;
>
> Quando clico no botão, apresenta o erro na tela:
>
> "Classe não registrada"
>
> Alguém saberia o que tem de errado?
> Será que a classe é de uma versão antiga, meu XP é todo atualizado e com
> SP3 etc...
> Coloquei a DLL em System32 só para ver se seria a falta dela, mas, como
> eu criei a TLB eu acho que não necessita, mas...
> Mesmo assim continua dando o erro.
>
> No site não informa nada, pelo que li, meu inglês não é lá muita coisa
> mas dá para entender um pouco.
>
> Grato por qualquer informação.
>
> Rubem Rocha escreveu:
> >
> >
> > Esta DLL a que você se refere, Cleanup.dll, é um projeto que está
> > hospedado
> > no portal CodeProject
> > (http://www.codeproject.com/KB/system/Cleanup_API.aspx 
> <http://www.codeproject.com/KB/system/Cleanup_API.aspx>
> > <http://www.codeproject.com/KB/system/Cleanup_API.aspx 
> <http://www.codeproject.com/KB/system/Cleanup_API.aspx>>). Pelo que
> > pude ver,
> > essa Cleanup.dll possui uma versão em forma de componente COM. Essa
> > forma eu
> > vejo que é mais fácil você usar, visto que o Delphi pode gerar uma
> > unit com
> > as declarações contidas nela, bastando apenas fazer um uses e usá-la.
> >
> > Descompacte o .ZIP disponível no endereço mencionado. Depois Vá em
> > Project>Import Type Library. Ao aparecer a caixa de diálogo, clique em
> > Add.
> > Ao aparecer a caixa de diálogo, vá até o local onde você descompactou o
> > pacote, selecione a pasta Cleanup_DLL_COM\Release e selecione o
> > arquivo .DLL
> > ou .TLB. Depois, clique em ‘Install’ ou ‘Create Unit’. A diferença 
> desses
> > botões é que o primeiro, além de gerar a unit que traduz o 
> componente COM,
> > instala ele na paleta de componentes.
> >
> > Mais uma coisa, sugiro que você leia todo o artigo do link acima
> > mencionado
> > para entender como funciona essa DLL.
> >
> > Boa sorte.
> >
> > Sds.
> >
> > De: delphi-br@yahoogrupos.com.br 
> <mailto:delphi-br%40yahoogrupos.com.br>
> > <mailto:delphi-br%40yahoogrupos.com.br>
> > [mailto:delphi-br@yahoogrupos.com.br 
> <mailto:delphi-br%40yahoogrupos.com.br>
> > <mailto:delphi-br%40yahoogrupos.com.br>] Em
> > nome de EmbarcaDelphi
> > Enviada em: sexta-feira, 26 de junho de 2009 10:51
> > Para: delphi-br@yahoogrupos.com.br 
> <mailto:delphi-br%40yahoogrupos.com.br> 
> <mailto:delphi-br%40yahoogrupos.com.br>
> > Assunto: [delphi-br] Como chamar esta DLL pelo Delphi?
> >
> > Olá pessoal...
> >
> > Como não entendo nada de "C", tenho os fontes de uma DLL escrita nesta
> > linguagem que serve para apagar históricos, cookies, etc.. mas não sei
> > como chamar ela no meu projeto:
> >
> > ----------------------------------------------------------
> > __declspec( dllexport ) BOOL Delete_IECache(BOOL bDeleteCache = TRUE,
> > BOOL bDeleteCacheIndex = FALSE);
> > __declspec( dllexport ) BOOL Delete_IECookies(BOOL bDeleteCookies = 
> TRUE,
> > BOOL bDeleteCookiesIndex = FALSE);
> > __declspec( dllexport ) HRESULT Delete_IEHistory(BOOL bDeleteHistory =
> > TRUE,
> > BOOL bDeleteHistoryIndex = FALSE);
> > __declspec( dllexport ) void Delete_IEAddressBarHistory();
> > __declspec( dllexport ) void Delete_DesktopRunHistory();
> > __declspec( dllexport ) void Delete_DesktopRecentDocsHistory();
> > __declspec( dllexport ) void Delete_DesktopRecycleBinContents();
> > ----------------------------------------------------------
> >
> > Acho que é isso acima :)
> > Alguém que intenda de C pode dar uma luz?
> > O nome da DLL é "Cleanup.dll".
> >
> > Grato.
> >
> > .
> >
> >
>
> ------------------------------------
>
> .
>
> 



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>




Responder a