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 >>>>>