Array
(
)

Como saber se o delphi está instalado?

Xandyr
   - 15 dez 2005

Como posso saber se o delphi está instalado no computador?
Quais são as chaves do registro que ele cria?. Existe uma chave que seja padrão para todos as versões do delphi?


Xandyr
   - 16 dez 2005

Sobe


Adriano Santos
   - 16 dez 2005


Citação:
Como posso saber se o delphi está instalado no computador?
Quais são as chaves do registro que ele cria?. Existe uma chave que seja padrão para todos as versões do delphi?


O que vc precisa fazer? Por acaso é para testar o desenvolimento de componentes?


Michael
   - 16 dez 2005

Até a versão 7 do Delphi, basta vc verificar se a chave HKEY_CURRENT_USER\Software\Borland\Delphi\<versão>.0 existe.

A partir do Delphi 8, verifique HKEY_CURRENT_USER\Software\Borland\BDS\<versão>.

[]´s


Xandyr
   - 19 dez 2005


Citação:

Citação:
Como posso saber se o delphi está instalado no computador?
Quais são as chaves do registro que ele cria?. Existe uma chave que seja padrão para todos as versões do delphi?


O que vc precisa fazer? Por acaso é para testar o desenvolimento de componentes?


Justamente. Estou criando um componente com uma versão para uso não comercial e gostaria de saber se o delphi está instalado na máquina que a pessoa está testando o componente, caso não vou exibir um logo, assim que o componente for instanciado.


Michael
   - 19 dez 2005

Esta não é uma forma segura de se criar uma versão shareware de um componente. Se vc exibir a mensagem de registro apenas se o Delphi não estiver instalado, basta criar as chaves e pronto, sem instalar o Delphi. Entendeu?

O que geralmente se faz nestes casos é, no método Loaded do componente, vc verifica se ele está sendo executado em Design-time, através da propriedade ComponentState, e se não for, vc exibe a mensagem de registro. Desta forma seu componente só funcionará se executado dentro do Delphi.

[]´s


Martins
   - 19 dez 2005


Citação:
Esta não é uma forma segura de se criar uma versão shareware de um componente. Se vc exibir a mensagem de registro apenas se o Delphi não estiver instalado, basta criar as chaves e pronto, sem instalar o Delphi. Entendeu?

O que geralmente se faz nestes casos é, no método Loaded do componente, vc verifica se ele está sendo executado em Design-time, através da propriedade ComponentState, e se não for, vc exibe a mensagem de registro. Desta forma seu componente só funcionará se executado dentro do Delphi.

[]´s


:D Mandou bem Michael, acredito q uma versão demo do RDUsers e RDPrint funcionem dessa forma tb.


Adriano Santos
   - 19 dez 2005


Citação:

Citação:
Esta não é uma forma segura de se criar uma versão shareware de um componente. Se vc exibir a mensagem de registro apenas se o Delphi não estiver instalado, basta criar as chaves e pronto, sem instalar o Delphi. Entendeu?

O que geralmente se faz nestes casos é, no método Loaded do componente, vc verifica se ele está sendo executado em Design-time, através da propriedade ComponentState, e se não for, vc exibe a mensagem de registro. Desta forma seu componente só funcionará se executado dentro do Delphi.

[]´s


:D Mandou bem Michael, acredito q uma versão demo do RDUsers e RDPrint funcionem dessa forma tb.



Só completando o que o Michael disse, veja uma forma:

#Código


if not (csDesigning in ComponentState) then
ShowMessage(´Componente desenvolvido por Adriano Santos´);


Lembrando que vc deve deixar a disposição somente o DCU do componente, do contrário o cara pode alterar seu fonte e usar normalmente.