Arquivos da categoria : Dicas


DIGA NÃO À PEC 37

DIGA NÃO À PEC 37

Separei a lista de Deputados do Paraná que querem tirar o poder de investigação do Ministério Público.

  • Abelardo Lupion – DEM
  • Alex Canziani – PTB
  • André Vargas – PT
  • Fernando Francischini – PEN
  • Fernando Giacobo – PR
  • Federal Nelson Meurer – PP
  • Nelson Padovani – PSC
  • Pastor Oliveira Filho – PRB
  • Ricardo Arruda Nunes – PSC
  • Zeca Dirceu – PT

Divulguem a lista destes políticos para que eles não sejam mais eleitos, diga não a PEC 37 e diga não a estes políticos nas urnas.

http://www.mp.pr.gov.br/modules/conteudo/conteudo.php?conteudo=4889


Desconto especial para os componentes RealThinClient

RTC Logo

Atenção: Desconto para quem comprar os componentes RealThinClient antes da publicação do novo website.

Para ter direito ao desconto, entre na página da RealThinClient no Facebook  e clique na publicação da promoção para reividincar o desconto.

Get a special discount on a RTC License by ordering before our new Webpages go Live!

Oferta RTC

Esta é a imagem da publicação, para reivindicar o desconto, você deve entrar na página da RealThinClient no Facebook.


Wizard de projetos DUnit não encontrado no Delphi XE3

Hoje depois de terminar de escrever um programa demostranção para meu último artigo sobre os componentes RTC SDK, eu queria criar um projeto de testes com DUnit, mas não encontrei o Wizard Unit Test no menu “File >> New >> Other”.

Então procurei no Registro do Windows se o pacote DUnit  (unittestide170.bpl) estava declarado em HKCU\Software\Embarcadero\BDS\10.0\Known IDE Packages\Delphi, e não estava, embora estivesse em HKCU\Software\Embarcadero\BDS\10.0\Known IDE Packages\CBuilder, somente disponível para C++ Builder.

Para encurtar a história, eu corrigi isto criando uma entrada em HKCU\Software\Embarcadero\BDS\10.0\Known IDE Packages\Delphi

  • Nome = $(BDS)\Bin\unittestide170.bpl
  • Valor = DUnit

Delphi DUnit Registry

Não sei o que aconteceu durante a instalação, mas depois de reiniciar a IDE do XE3 eu pude criar meu projeto de testes.

Delphi DUnit New Project

Read the English version of this post
DUnit project wizard missing in Delphi XE3


Windows 8 – Menu de contexto do Explorer e operações com o Shell são muito lentas

Estou usando o Windows 8 há uma semana e as operações padrão como um click direito do mouse para selecionar “Abrir com…“, copiar ou excluir arquivos demoram muito para iniciar. Hoje pesquisei um pouco e vi muita gente reclamando desta lentidão desde o Windows 7, e a solução que encontrei nos posts do MSDN foi:

A solução para a lentidão do Shell no Windows 7 e Windows 8 é desativar o “Windows Search”

E realmente funciona, após desativar o Windows Search estas operações ficaram instantâneas.

No Windows XP eu sempre desativei o Windows Search, mas notei que alguns programas utilizavam este recurso e ficavam limitados, quando migrei para Windows 7 passei a manter ativado por que não senti nenhuma perda de performance, mas no Windows 8 é impossível trabalhar com o Windows Search ativado.

As buscas baseadas no conteúdo de um arquivo que preciso são apenas de arquivos texto, para isto eu uso o “Grep”, em outros arquivos uso apenas a busca por nomes, completo ou parcial com “*”, então a melhor ferramenta que encontrei para esta tarefa é o “Everything Search” do qual eu já falei aqui

Como desativar o Windows Search

  • Para desativar o Windows Seach, abra o “Menu Iniciar*” >> “Painel de Controle”.
  • No canto superior direito altere “Exibir por: Categoria” para “Exibir por: Ícones grandes” ou  “Exibir por: Ícones pequenos“.
  • Procure por “Ferramentas Administrativas” >> “Serviços” e com o clique duplo do mouse abra a janela de Serviços.
  • Procure o item “Windows Search”, selecione o item e tecle “ENTER” ou duplo clique com o Mouse.

Na janela de propriedades do Windows Search:

  1. Altere o Tipo de Inicialização para “Desativado
  2. Clique no botão “Parar”,
  3. E finalmente clique no botão “OK

Clique na imagem abaixo para ver as instruções marcadas em vermelho
Desativar Windows Search

Atenção: “*Menu Iniciar” somente até o Windows 7.


Script para baixar atualizações de repositórios Subversion, Mercurial e Git

Repository Update

Repository Update

Eu mantenho cópia local dos projetos Open Source que me interessam, e toda vez que precisava usá-los tinha de fazer atualização manual usando o “Tortoise” do repositório correspondente.

Para evitar o trabalho manual resolvi escrever um script para automatizar a tarefa.

Eu queria um script que pude-se varrer todas as pastas e subpastas, sem a necessidade de eu ter de atuar uma lista a cada novo repositório,  assim surgiu o repository_update.bat.
Meus projetos ficam na seguinte estrutura:

C:\Documents\Projects\[Components, Libraries, Frameworks]

O script fica em:

C:\Documents\Projects\repository_update.bat

Basta executa-lo, e ele varre todos os subdiretórios e atualiza a cópia local de cada projeto.

Para que o script funcione corretamente é necessário verificar algumas configurações que estão na sessão ENVIRONMENT:

:ENVIRONMENT
 set UPDATE_HG=1
 set UPDATE_GIT=1
 set UPDATE_SVN=1

 set HG_CMD="C:\Program Files\TortoiseHg\hg.exe"
 set GIT_CMD="C:\Program Files (x86)\Git\cmd\git.exe"
 set SVN_CMD="C:\Program Files\SlikSvn\bin\svn.exe"
 set SVN_ASYNC_CMD=C:"\Program Files"\TortoiseSVN\bin\TortoiseProc.exe
 set HG_PARAMS=pull -u
 set GIT_PARAMS=pull --all -u
 set SVN_PARAMS=update
 set SVN_ASYNC_PARAMS=/command:update /path:%%G 

 :: SVN_ASYNC=1 call GUI async, default 0
 set SVN_ASYNC=0

 :: English = EN_US
 :: Portugues Brasil = PT_BR
 set SCRIPT_LANGUAGE=PT_BR
  • As 3 primeiras linhas ativam=1 ou desativam=0 o suporte aos respectivos repositórios.
  • Depois o path dos comandos a serem executados. Note o último item deste grupo, é a versão GUI do TortoiseSVN, que só é útil se o parâmetro SVN_ASYNC for igual a 1.
  • Os parâmetros estão separados dos comandos para evitar que sejam alterados acidentalmente.
  • SVN_ASYNC, executa o TortoiseSVN gráfico de forma assíncrona, abrindo uma janela para cada repositório Subversion encontrado.
  • E por último a linguagem das mensagens.
Repository Update done!

Repository Update done!

 

Download

Você pode adicionar o script repository_update.bat no agendador de tarefas do Windows para que ele seja executado diariamente, mantendo todos os seus projetos sempre atualizados.


Restaurar “Welcome Page” do Delphi 1

As vezes a “Welcome Page” do Delphi simplesmente some, no Delphi 2009 isto acontecia o tempo todo, a partir do Delphi 2010 isto melhorou, mas as vezes quando eu fecho algum grupo de projetos o problema ocorre novamente, e podemos ver o “TEmbarcadero.Create” em vermelho no topo.

Para restaurar a página não é necessário reiniciar o Delphi, basta clicar com o botão direito do mouse na “Welcome Page” e em “Modo de Navegação”.

Delphi Welcome Page

Delphi - Restaurar Welcome Page


Delphi – De volta a evolução 3

Nas últimas semanas muitas notícias sobre o que está acontecendo com o Delphi apareceram nos blogs e fóruns, aqui estão as que eu achei realmente interessantes:
  • Delphi 64bit
  • Delphi Cross Plataforma Nativo – Windows, Mac, Linux e quem sabe Mobile em breve
    • Nova biblioteca gráfica VCL2 baseado no KSDev
  • Delphi Prism se tornando popular no desenvolvimento pra iPhone, iPad, Android e Windows Phone 7
  • RemObjects anuncia um novo projeto chamado Cooper – Delphi para Java e Android
  • Delphi Starter Edition

O Delphi 64bit já é necessidade antiga, mas as pistas deixadas pelo pessoal da Embarcadero deixam claro que ele está a caminho, e logo estará disponível. Semanalmente podemos ver os Twitts com informações sobre o desenvolvimento e ontem mesmo eu postei uma screenshot da IDE, até há pouco tempo só se tinha notícias do compilador sendo executado em linha de comando.

Delphi Cross Plataforma deveria ser lançado ano passado, junto com o Delphi XE, mas como a certo ponto dos testes este produto se apresentou instável, a Embarcadero resolveu investir na melhoria para Win32, deixando o Cross Plataforma para uma próxima versão. Li alguns posts no fórum da Embarcadero e blogs pela internet que estavam usando o QT como biblioteca gráfica, mas o resultado não foi como esperado, e estudaram a possibilidade implementar tudo nativo para o Mac e utilizar o QT somente para o ambiente Linux, o que me parece que aumentaria muito o código a ser mantido, mas nas últimas semanas tivemos uma ótima notícia, a Embarcadero comprou a propriedade intelectual (IP) da KSDev, e contratou os 2 principais desenvolvedores para fazer parte da equipe de desenvolvimento do Delphi.

A KSDev produzia os componentes VGScene, DXScene e ImageFX, para Delphi, Lazarus/Free Pascal e recentente já tinha uma versão para Mac.  Isto confirma que a versão Cross Plataforma realmente está a caminho, e terá suporte a aceleração gráfica além de trazer para o Delphi componentes como os da Adobe AIR e Microsoft WPF.

Os atuais clientes da KSDev estavam preocupados por que foi anunciado que os produtos não terão continuidade, e com razão estavam reclamando, pois muitos haviam comprado uma licença chamada “Live Time”. Bem, o tempo de vida desta licença é a da vida do produto, se o produto não vai mais ser continuado, a licença acabou. Mesmo assim é uma situação complicada, pessoas investiram  esperando um tempo de vida mais longo. Mas esta preocupação já acabou, após um período de silêncio o Eugene postou no fórum da KSDev, que a Embarcadero vai preparar uma nova versão dos produtos e os clientes receberão a atualização gratuitamente.

Enquanto isto em Las Vegas o pessoal da RemObjects deu um show na conferencia DSConf, onde apresentaram as novidades dos conhecidos componentes da RemObjects, que não precisam de apresentações. Mas o que chamou atenção foram as apresentações sobre o desenvolvimento para iPhone, iPad, Android e Window Phone 7, e Jim McKeeth falou sobre Desenvolvimento para Windows Phone 7 com Silverlight.

Jim também falou no novo Projeto da RemObjects o Cooper, um novo compilador que traz a linguagem Oxygene (utilizada pelo Delphi Prism) para as plataformas Java e Android. “Assim como o Oxygene teve como objetivo trazer uma experiência completa para quem fosse desenvolver para .NET, Cooper fará o mesmo para Java. Ele vai gerar código 100% Java ou Dalvik, a variação Java para Android, utilizando diretamente as bibliotecas de classes Java. É a verdadeira próxima geração de Object Pascal para Java. Um vídeo deve ser postado na RemObjects TV nos próximos dias, fique atento.

Recursos prometidos para o Cooper

  • Suporte completo da linguagem Oxygene, como conhecida no Delphi Prism
    • Algumas pequenas diferenças para tornar “Cooper” um bom cidadão Java
      • Novas características – inline interfaces
      • Faltando – LINQ
  • Utilizar bibliotecas Java, assim como Oxygene utiliza .NET atualmente
  • Referências diretas a arquivos Java .jar
  • Compilar diretamente para arquivos nativos java .jar
  • Suportar desenvolvimento clássico para o runtime Java, assim como para Dalvik no Android.

Leia o artigo completo sobre a DSConf no blog da RemObjects.

Não posso deixar de falar do Delphi Starter Edition, uma edição reduzida para que está iniciando ou deseja entrar para a comunidade de Programadores Delphi. Leia mais no site do produto.

Se você achava que o Delphi havia parado no tempo, estas notícias são muito animadoras e confirmam que as empresas envolvidas nos produtos que utilizamos no dia a dia, estão investindo para que possamos ter ferramentas de primeiro mundo novamente, alcançando todos os recursos disponíveis para .NET, Java e Mac. Fique ligado, em breve mais notícias.


Delphi XE Out Of Memory Error – Solução 3

Antes de você continuar, a causa do problema que vou descrever está nas Zonas do Internet Explorer, não no Delphi, e todos os programas que utilizam o IE são afetados de alguma forma, e não de uma boa forma.

Há um mês tive este problema com o Delphi XE, mas o problema não era no Delphi XE e eu notei isto quando fui sincronizar meus documentos com o servidor e o Always Sync não mostrava nada na janela principal, mesmo tentando iniciar uma sincronização através do menu não era possível e o IE apresentava erro de JavaScript, mas que havia uma falha na “jscript.dll”, o próximo programa que apresentou comportamento inesperado foi o Babylon, eu ainda utilizo a versão 6, não sei como é a interface nas versões mais atuais, mas nesta as traduções são apresentadas utilizando o IE, então todos os resultados eram mostrados sem nenhuma formatação com uma fonte grande e estranha, como uma página de internet que perdeu o .css correspondente.

Pensei que algum vírus tinha infectado meu computador, o que ainda não descarto, na minha busca por uma solução eu fiz o seguinte:

  • Voltei um ponto de restauração do windows
  • Removi todos os programas instalados recentemente
  • Removi o IE 8
  • Fiz limpeza de disco, cache de internet, registro do windows
  • Reinstalei o IE8
  • Removi os programas que apresentavam problemas e reinstalei

Por fim, criei um novo perfil de usuário no windows e vi que neste novo perfil tudo funcionava perfeitamente. Fiz backup das chaves do registro do windows do Delphi, Outlook, Xananews e alguns outros programas que uso diariamente, restaurei no novo perfil, transferi os documentos do antigo perfil para a minha pasta permanente de documentos e estava pronto pra trabalhar novamente. Mas não apaguei o perfil antigo, mantive ele caso eu precisasse de algum documento que esqueci e para investigar a causa.

Hoje o colega “Giedrius Bauza” postou no newsgroup da Embarcadero que ele encontrou a solução, imediatamente fui conferir se era o que tinha acontecido comigo mês passado e realmente era, então  postei  uma correção na descrição dele, que você pode ler no fórum da Embarcadero, e que vou reproduzir aqui:

Uma nova Zona de Internet foi incluída no registro do windows na chave:

HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Internet Settings\Zones\

Onde a chave  das zonas são números, havia uma chave com um caracter estranho, parecido com um “L” ou aqueles caracteres utilizados para desenhar um canto em DOS.

A solução é remover esta chave estranha, e todos os programas que utilizam o IE voltam a funcionar como esperado.