Altminer
Pular para o conteúdo principal
BitFun - Play and Earn free Bitcoin
Bitcoin Group on Telegram Bitcoin News on Telegram Youtube Group on Telegram Litecoin Mining Bot on Telegram Bitcoin Mining Bot on Telegram Ethereum
 Mining Bot on Telegram Monero Mining Bot on Telegram

RESOLVENDO PROBLEMAS COM DLLS DO WINDOWS

RESOLVENDO PROBLEMAS COM DLLS DO WINDOWS
ђλ¢Қ_λŧŧλ¢Ҝ™ - 17/02/2009
Quantos de nós já não vimos uma mensagem assim "Este programa executou uma operação ilegal e será fechado" ou então "Este programa causou um erro na NomeEstranho.DLL e será fechado". Praticamento todo o usuários do Windows, principalmente da galera do 9x (95, 98 e 98 SE) em diante, já experimentou algum problema deste tipo.
Não é sempre que ele ocorre, mas estimo eu que 95% dos casos você pode estar vivendo um problema que ficou mais conhecido como "DLL Hell ou "Inferno das DLLs". Esse problema ocorre principalmente quando programas diferentes utilizam versões ímpares de uma mesma DLL (Dynamic Link Library ou Link de Biblioteca Dinâmica), ou quando uma DLL do sistema operacional é sobre escrita por outra de mesmo nome pertencente a algum
programa que você instalou.
Nesta minha dica, vou mostrar e entender o que são e como funcionam esses arquivos. Vamos investigar, o porquê de tantos problemas e, finalmente, analisar algumas possíveis soluções implementadas pelo próprio Windows, como uma forma de minimizar as
conseqüências deste tipo de inconvenientes.

O Surgimento dos Arquivos .DLL

Nos primórdios da era da informática um programa era constituído apenas por um arquivo executável que continha todas as instruções necessárias para o seu funcionamento. Entretanto, alguns programas complexos poderiam conter diversos executáveis. Com o passar do anos, o tamanho dos programas cresceu consideravelmente principalmente com a adoção generalizada das interfaces gráficas (GUI -Graphical User Interface ou Interface Gráfica de Usuário), o que fez com que apenas a divisão dos programas em vários arquivos executáveis se tornasse ineficiente sob o ponto de vista produtivo, uma vez que o código deles não podia ser compartilhado.
Para resolver este problema os projetistas do Windows começaram a tirar vantagem de uma estratégia de geração de códigos chamada "Linkagem" dinâmica. Como sabemos grande parte das funções utilizadas em um programas não é codificada em seu corpo, a maioria delas tem seu código armazenado em bibliotecas. Bom, em uma "linkagem" convencional o que ocorre basicamente é que o programador informa ao compilador a localização das bibliotecas, este importa os códigos das funções e o concatena com o código do programa gerando assim, um arquivo executável contendo o código escrito pelo programador e o código oriundo das bibliotecas.
Em uma "linkagem" dinâmica, o código das funções não é armazenado no arquivo executável, mas consultado durante a execução do programa, em uma biblioteca pré-compilada. Existem diversas vantagens nesse tipo de estratégia, dentre elas posso citar:
Possibilidade de criação de arquivos executáveis menores;
Bibliotecas dinâmicas permitem que o código seja compartilhado por vários arquivos executáveis, evitando assim que um mesmo trecho de código se repita em diferentes programas;
Atualizações nos programas são mais fáceis, uma vez que é possível alterar apenas bibliotecas dinâmicas ao invés de reinstalar todo o programa.
As DLLs são as bibliotecas dinâmicas padrão de todos os sistemas da família Windows. Sendo que que a famosa API (Application Program Interface ou Aplicação de Programa de Interface) do Windows, é, em sua grande maioria, baseada neste tipo de arquivo. É na API que estão predefinidas as informações de como devem ser desenhadas, por exemplo, barras de rolagem, botões e caixas de diálogos, fazendo com que os programadores tenham menos trabalho para desenvolverem aplicações e promovendo a padronização das interfaces dos programas. Um bom exemplo é a comdlg32.dll (Commom Dialog Library ou Biblioteca de Diálogo Comum), que contém alguns diálogos padrão, como o de seção de cores e abertura de arquivos.
Da mesma forma que um programa como o MS_Office possui diversas versões (97,2000 e XP), as DLLs que acompanham o Windows também podem ter. Sendo assim, podem existir, por exemplo sistemas WinMe que são acompanhados de versões distintas da mesma DLL.
O problema é que um programa compilado e testado deixa de funcionar corretamente com uma versão mais nova ou mais antiga da biblioteca. Isso está relacionado ao fato de que uma versão mais antiga pode não possuir todas as funcionalidades exigidas pelo software e uma versão mais nova pode não ser totalmente compatível com as versões anteriores. Além disso, um programa construído para funcionar com uma DLL em determinado idioma (Português, Inglês e etc...) pode não funcionar com uma DLL de idioma diferente.
Para visualizarmos informações de versão com o Windows Explorer basta clicarmos com o botão direito sobre o arquivo, selecionar a opção Propriedades e, em seguida, clicar sobre a aba Versão.
Bom, mas como resolver este tipo de problema?
O fato é que não existe nenhuma receita mágica para isso, contudo, a partir do Windows 98, a Microsoft começou a se preocupar com este tipo de problema, tanto que este vem acompanhado de um programa gerenciador de conflitos de versão (vcmui.exe) - Version Conflict Manager ou Corretor de Conflitos de Versão. Este programinha fica armazenado na pasta c:\windows e mantém uma cópia dos arquivos de sistema (DLL, OCX, SYS,...) que foram substituídos durante as atualizações do Windows. As cópias de segurança ficam armazenadas na pasta c:\windows\vmc e no caso de algum conflito que foram substituídos podem ser restaurados com a ajuda da ferramenta.
Outra ferramenta presente no Windows 98/2000/XP é o sfc.exe (System File Checker ou Sistema de Checagem de Arquivos), que tem como objetivo proteger arquivos vitais do sistema contra substituições ou exclusões. Ao contrário do vcmui.exe o SFC procura restaurar os arquivos danificados ou substituídos, a partir da mídia original.
Para executarmos o SFC, no Windows 2000, basta digitarmos c:\>sfc /scannow na linha de comando, pressionar Enter e, então, a aplicação solicitará o CD de instalação do sistema para que os arquivos possam ser restaurados. Também é possível realizar checagens automáticas, através de algumas opções do programa. Tais opções podem ser visualizadas digitando-se SFC,
seguido da tecla Enter.
O Windows ME também possui um mecanismo para a verificação de integridade dos arquivos de sistema. Esta ferramenta pode ser acionada através de um utilitário também presente no Windows 98, chamado msinfo32.exe. Para executá-lo, selecione a opção Executar do Menu Iniciar, logo em seguida digite msinfo32.exe e pressione o botão OK. Após a abertura do programa, vá até o menu Ferramentas de verificação de assinatura e uma tela será exibida. Com o verificador de assinatura, é possível descobrir quais os arquivos do sistema foram substituídos, o que pode ser muito útil durante a solução de conflitos de versão.
Como uma medida mais automatizada, o Windows ME oferece também a possibilidade de restaurar o sistema a um estado anterior (sem problemas), através de um utilitário que pode ser encontrado no Menu Iniciar, em: Programas ->Acessórios -> Feramentas -> Restauração do Sistema. Este aplicativo possui pontos de verificação gerados automaticamente quando certos programas são instalados, tornando possível reverter as ações feitas pelos programas de instalação.Também é possível criar um ponto de checagem manualmente a qualquer hora, permitindo que o usuário crie um deles, por exemplo, antes de instalar algum programa e, caso haja algum problema, tente reverter a situação através do restaurador. Além das ferramentas nativas do próprio Windows, é possível encontrar programas produzidos por outros fabricantes que se propõem a, se não solucionar, pelo menos diminuir as dores de cabeça provocadas por estes tipos de problemas, tal como o Version Stamper (http://www.desaware.com/VersionStamperL2.html). Entretanto, podem existir casos principalmente na família do Windows 9x, onde infelizmente a reinstalação do Sistema Operacional pode ser a única solução.
Espero ter contribuído para o esclarecimento da função desempenhada pelos arquivos .DLL do Windows, bem como ter apresentado procedimentos para se tratar eventuais problemas relacionados a eles.
Se você está interessando em mais informações sobre o assunto, visite:

Comentários

Mais Visitados

O Roqueiro - Filme Online Dublado

Sinopse: O Roqueiro”, vulgo Robert “Fish” Fishman, foi o baterista de uma banda de cabeludos dos anos 1980. Ele estava vivendo o sonho do rock´n´roll, até que foi expulso do grupo. Vinte anos mais tarde, o roqueiro desesperado integra a banda do sobrinho, A.D.D., finalmente retomando o posto de deus do rock que sempre acreditou merecer, enquanto leva seus companheiros de banda, muito mais jovens, na viagem de suas vidas. Nesta mistura de comédia pastelão, emoção e música de banda de garagem/power rock/heavy metal, Rainn Wilson de “The Office” troca seu trabalho de escritório em sua empresa de papel pela fama do rock´n´roll, assumindo o papel de um baterista grande, suado, fora de controle e, às vezes, pelado, que tem uma segunda chance no superestrelato do rock. Quando conhecem Fish, ele e seus companheiros de banda do Vesuvius estão em toda a glória da década de 1980, compondo canções de rock pesado e ostentando cabelos compridos, lenços no pescoço e calças de couro incrivelmente ape...

Eclipse. El mejor IDE de programación

Eclipse es sin luguar a dudas la mejor plataforma de programación del mercado. Lo mejor de todo: es gratis . Si vas a programar con Java, no lo dudes, descárgate Eclipse. Si vas a programar con C/C++, descárgate Eclipse. Si vas a programar con C#, ten paciencia, en poco tiempo aparecerá algo para Eclipse. Lo único que el falta, es un editor de páginas web tipo, dreamweaver. Hay disponibles algunos, pero son de pago como MyEclipse o M7 , y actualmente están desarrollando una extención llamada Web Tools Project para proyectos J2EE, así que no queda mucho. Eclipse.org Main Page

RoboForm. Gestor de Contraseñas

Uno de esos programitas insustituíbles, el RoboForm . Es un gestor de contraseñas gratis y sirve para cumplimentar formularios o generar contraseñas. Si estás hasta el gorro de rellenar siempre tu dirección, teléfono, usuario, contraseña , bla, bla., roboform te simplifica la vida. Simplemente almacena en un archivo toda tu información y cuando accedes a una página donde piden estos datos, solo tienes que pulsar "botón derecho/rellenar formularios" y voilà todo completito sin haber pulsado una sola tecla. Pero la cosa no acaba ahí, si además tienes una contraseña distinta para cada sitio, y no recuerdas cual es cual, roboform si. Cuando accedes a una página que necesita autorización/autenticación/autentificación o como se diga, el programita "recuerda" cual era el usuario/password correctos y lo introduce por ti. Magnífico, ¿no?

Páginas