Delphi XE5 OAuth – RESTDemos bug

Há um bug no demo RESTDemos do Delphi XE5 que faz com que os demos de OAuth não funcionem.

O Erro é pequeno apenas o evento para capturar o resultado da autenticação está errado, basta alterar de Tfrm_OAuthWebForm.OnBeforeRedirect  para OnAfterRedirect, como no exemplo do Facebook:

procedure Tfrm_Main.btn_Facebook_FetchAuthTokenClick(Sender: TObject);
var
  LURL: string;
  wv: Tfrm_OAuthWebForm;
begin
  edt_GoogleTasks_AuthCode.Text := '';
  edt_GoogleTasks_AccessToken.Text := '';

  LURL := 'https://www.facebook.com/dialog/oauth';
  LURL := LURL + '?client_id=' + URIEncode(edt_Facebook_AppID.Text);
  LURL := LURL + '&response_type=token';
  LURL := LURL + '&scope=' + URIEncode('user_about_me,user_birthday');
  LURL := LURL + '&redirect_uri=' + URIEncode('https://www.facebook.com/connect/login_success.html');

  wv := Tfrm_OAuthWebForm.Create(self);

// comentar a próxima linha
//  wv.OnBeforeRedirect := OAuth2_Facebook_AccessTokenRedirect;

// adicionar a próxima linha
  wv.OnAfterRedirect := OAuth2_Facebook_AccessTokenRedirect;
  wv.ShowModalWithURL(LURL);

  wv.Release;
end;

Já criei um QC para Embarcadero corrigir isto no repositório SVN dos demos:

Report No: 123999 – Status: Reported
RESTDemos OAuth error
http://qc.embarcadero.com/wc/qcmain.aspx?d=123999


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.


Evento – Perguntas e Respostas sobre os componentes RealThinClient

RTC Logo

Próxima sexta-feira (22 de março de 2013), a partir das 14:00h, horário de Brasília (17:00 UTC), estaremos realizando uma sessão de Perguntas e Respostas sobre os componentes RealThinClient no Skype para compartilhar algumas idéias sobre nossos planos para o futuro.

Se você está interessado em se juntar a nós, envie seus dados de contato do Skype para o nosso e-mail “General (non-technical) Questions”, que você pode encontrar na nossa página de Contato.

Estaremos dirigindo o evento em Inglês, Alemão, Português e Espanhol, eu estarei acompanhando os interessados que queiram acompanhar o evento em Português.


Usando RealThinClient e RTTI para enviar Streams

Acabei de publicar mais um artigo sobre o RealThinClient no blog oficial

RTC RTTI

Este artigo mostra como criar uma aplicação servidora e cliente com os componentes RealThinClient, para enviar e receber objetos e listas de objetos. Para tal os objetos são convertidos para Stream usando a nova RTTI e Custom Attributes.

O programa exemplo é bem detalhado, as units compartilhadas entre servidor e cliente também estão num projeto DPK, e são utilizadas como referencia para outro projeto de testes unitários com DUnit que está incluído.

Os anexos no fim do artigo são:

  • Grupo de projetos com os exemplos
  • Download do artigo no formato PDF

Nos próximos dias estarei publicando outros artigos baseados no mesmo exemplo, explicando com mais detalhes as técnicas usadas.


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


Instalar os componentes RTC SDK em versões diferentes do Delphi

O Problema

Diferentes versões do Delphi produzem diferentes versões de arquivos BPL, DCP, DCU e EXE. Não é possível compilar com o Delphi XE2 e utilizar os arquivos gerados no Delphi 2010 ou qualquer outra versão. Por isto cada projeto deve ter seu próprio Output Path. Desta forma se você adicionar o diretório dos arquivos fontes ao Library Path do Delphi, os arquivos gerados pelo compilador estarão em um diretório específico do projeto evitando conflito de versão de arquivos com outros projetos.

Frequentemente você pode encontrar conflito entre as versões dos arquivos BPL e DCP que devem ser carregados pela IDE, localizados através pelo Windows como qualquer DLL. Por exemplo, Delphi XE3 precisa do pacote rtcSDK.bpl, mas o Windows encontra primeiro a versão compilada para o Delphi 7 que foi instalada antes, e que é incompatível. Você pode usar a propriedade “LIB Sufix” no projeto para evitar estes conflitos.

Este artigo vai guiar através dos passos para instalar o RTC SDK em diferentes versões do Delphi ao mesmo tempo.

  1. Output Path
  2. Abrir o grupo de projetos dos componentes RTC SDK
  3. Unit output directory
  4. LIB Sufix
  5. Library Path.
  6. Browsing Path
  7. Instalar em outras versão do Delphi

(mais…)


RealThinClient Logo Contest

RTC Logo ContestAtenção Artistas e Designers!!!!
Há um concurso para criar um logotipo para a RealThinClient acontecendo, use sua criatividade para ganhar alguns Euros.

Entre na página do concurso e veja os logotipos enviados e os comentários sobre como eles devem ser feitos.

RealThinClient is looking for a Logo redesign. The contest has just started, but some very interesting designs have already been submitted. Which logo(s) do you like?
http://99designs.de/logo-design/contests/realthinclient-rtc-needs-logo-198461

RealThinClient

RTCA partir de hoje vou falar sobre os componentes RealThinClient que estou trabalhando, criando demos e documentação.

Primeiro uma apresentação rápida para quem ainda não conhece, RealThinClient é composto por 2 pacotes de componentes Delphi: “RTC SDK” e “RTC Portal”

RTC SDK

Componentes HTTP e HTTPS para criar:

  • Servidores
    • ISAPI
    • Autônomo
  • Clientes
  • Roteadores
  • Proxy
  • Balanceamento de Carga

RTC Portal

Componentes e Exemplos para solução completa de suporte remoto a clientes Windows, fornecendo as funções prontas para uso:

  • Controlar Desktop Remoto
  • Explorar Arquivos
  • Chat Multi Usuários

O RTC Portal utiliza o RTC SDK como base.

Hoje vou falar um pouco mais sobre o RTC SDK.

(mais…)


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.