Delphi Basics - Constructors, Aula 1

A partir de hoje iniciarei uma série de artigos que abordam principalmente conceitos básicos de programação na linguagem Delphi.

Pretendo nessa série de artigos abordar tudo relacionado à linguagem em si, como classes e objetos, encapsulamento, construtores/destrutores, exceções, hierarquia de classes e por ai em diante.

Inicialmente vamos criar uma unit chamada CursoDelphiBasic.pas, esta unit será nossa classe de trabalho durante o desenvolvimento desta série. Sempre no final do artigo você poderá fazer o download da unit atualizada.

A estrutura inicial de nossa unit será esta:

unit CursoDelphiBasics;

interface

type
  TCursoDelphiBasics = class
  private
    { Private declarations }
  public
    { Public declarations }
    constructor Create;
  end;

implementation

{ TCursoDelphiBasics }

constructor TCursoDelphiBasics.Create;
begin

end;

end.

Para iniciar esta série de artigos vamos começar abordando um pouco os constructors.

Você sabe o que é um constructor?

Provavelmente você já deve ter utilizado o método Create com o objetivo de alocar memória para algum objeto. Este método é um constructor! Um método que você utiliza para inicializar e para alocar memória à uma instância desta mesma classe. Complicado? Claro que não! Vamos criar o construtor da nossa classe?

Dentro da cláusula public vamos digitar o seguinte método:

constructor Create;

Logo após isto digite Ctrl + Shift + C. Repare que abaixo de implementation o Delphi criou a estrutura de nosso método:

constructor TCursoDelphiBasics.Create;
begin

end;

Agora você já tem uma classe e o seu constructor! :)

Para inicializar nossa classe dentro de qualquer form, como por exemplo o Form1, basta implementarmos o seguinte código dentro do OnCreate dele:

procedure TForm1.FormCreate(Sender: TObject);
var
  AMinhaClasse : TCursoDelphiBasics;
begin
  AMinhaClasse := TCursoDelphiBasics.Create;
  try

  finally
    AMinhaClasse.Free;
  end;
end;

No próximo artigo vamos implementar, parametrizar e abordar os recursos disponíveis na criação do nosso constructor. Download do fonte atualizado. Até a próxima.

Se você é novo por aqui, não deixe de assinar o feed RSS ou notificações por email. Não perca novos artigos!

Windows Service acessando WebService

Escrito em 10 de Abril de 2007 em Delphi, Linguagem Delphi, Programação, VCL/RTL por Zote

Boa tarde pessoal!
Na verdade, este não é um artigo, apenas uma solução de um problema que tivemos e que muitos podem ter…

Temos um Windows Service feito em Delphi/win32 e hoje surgiu a necessidade dele acessar um WebService.
Importamos o wsdl, codificamos e na hora de executar… “access violation“. Bom, pode ser algo que fizemos de errado!
Refizemos o processo e mesmo erro! Vamos fazer um outro cliente pra testar. Fizemos em Delphi Application, PHP, c# e todos funcionaram.

Bom, pode ser algo de permissão do windows. Alteramos para rodar como administrador da máquina, e nada. Num teste a mais, apenas pra ninguém poder dizer que não foi testado, colocamos pra rodar como usuário do domínio e nada!

Então mais um pouco de pesquisa e encontramos a solução:

Faltava chamar a inicialização dos ActiveX (que provavelmente o Delphi usa por baixo pra chamar WebService). Assim sendo, colocamos no create do DataModule que fará o acesso ao WebService a seguinte linha: CoInitialize(nil);
e no Destroy: CoUnInitialize; Pra isso, tivemos que adicionar ActiveX no uses.

Com isso conseguimos resolver o nosso problema e espero que o de alguns de vocês também.

Meus agradecimentos especiais vão para: Leonel Togniolli, Andreano Lanusse e Jone Cunha que encontrou a solução. Valeu pessoal!

Um abraço e até a próxima!

Trial do Delphi 2007 para Win32 disponível para download

Escrito em 04 de Abril de 2007 em Delphi por Leonel Togniolli

A versão de avaliação do Delphi 2007 para Win32 foi disponibilizada hoje para download. É um download de 4mb do instalador, que a partir dele são baixados apenas os pacotes necessários para a instalação na sua máquina.

A avaliação é totalmente funcional por 30 dias. Faça o download do Delphi 2007 agora, e compartilhe suas opiniões. O que achou do Delphi 2007 para Win32?