Como saber se o delphi está instalado?

15/12/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

Respostas

16/12/2005

Xandyr

Sobe


Responder Citar

16/12/2005

Adriano Santos

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?


Responder Citar

16/12/2005

Michael

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


Responder Citar

19/12/2005

Xandyr

[quote]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?[/quote:5d87e19996]

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.


Responder Citar

19/12/2005

Michael

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 [b:d34ffc6cf6]Loaded [/b:d34ffc6cf6]do componente, vc verifica se ele está sendo executado em Design-time, através da propriedade [b:d34ffc6cf6]ComponentState[/b:d34ffc6cf6], e se não for, vc exibe a mensagem de registro. Desta forma seu componente só funcionará se executado dentro do Delphi.

[]´s


Responder Citar

19/12/2005

Martins

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 [b:dae54bd521]Loaded [/b:dae54bd521]do componente, vc verifica se ele está sendo executado em Design-time, através da propriedade [b:dae54bd521]ComponentState[/b:dae54bd521], 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.


Responder Citar

19/12/2005

Adriano Santos

[quote:938c773835=´Michael´]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 [b:938c773835]Loaded [/b:938c773835]do componente, vc verifica se ele está sendo executado em Design-time, através da propriedade [b:938c773835]ComponentState[/b:938c773835], 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.[/quote:938c773835]


Só completando o que o [b:938c773835]Michael[/b:938c773835] disse, veja uma forma:

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.


Responder Citar