Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Aprendendo o uso.
#1
Pessoal estou com problema no FormCreate ao compilar retorna mensagem abaixo.
Código:
procedure TPrincipal.FormCreate(Sender: TObject);
begin
   oCliente := IContainerDataSet<TCliente>.Create(oConexao, tbCliente);
   oCliente.DataSet.Open;
end;

erro no .Create

ERRO:
[dcc32 Error] uPrincipal.pas(51): E2018 Record, object or class type required

Form principal

Código:
unit uPrincipal;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option,
  FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
  FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.FB,
  FireDAC.Phys.FBDef, FireDAC.VCLUI.Wait, FireDAC.Phys.IBBase, FireDAC.Comp.UI,
  Data.DB, FireDAC.Comp.Client, FireDAC.Stan.Param, FireDAC.DatS,
  FireDAC.DApt.Intf, FireDAC.Comp.DataSet,


  /// orm factory
  ormbr.factory.interfaces,
  /// orm injection dependency
  ormbr.dependency.interfaces,
  ormbr.dependency.injection.fdmemtable,
  ormbr.factory.firedac,

  demo.model.cliente;

type
  TPrincipal = class(TForm)
    Conexao: TFDConnection;
    FDGUIxWaitCursor1: TFDGUIxWaitCursor;
    FDPhysFBDriverLink1: TFDPhysFBDriverLink;
    tbCliente: TFDMemTable;
    dsCliente: TDataSource;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    oConexao: IDBConnection;
    oCliente: IContainerDataSet<TCliente>;
  end;

var
  Principal: TPrincipal;


implementation

{$R *.dfm}

procedure TPrincipal.FormCreate(Sender: TObject);
begin
   oCliente := IContainerDataSet<TCliente>.Create(oConexao, tbCliente);
   oCliente.DataSet.Open;
end;

end.

Classe Model

Código:
unit demo.model.cliente;

interface

uses
   Classes, DB, ormbr.mapping.attributes;

type
   [Entity]
   [Table('CLIENTE','')]
   TCliente = class
  private
    Fid: Integer;
    Fnome: string;

  public
    [PrimaryKey()]
    [Column('ID',ftInteger)]
    [Dictionary('ID','Mensagem de validação','','','',taCenter)]
    property id: Integer index 0 read Fid write Fid;

    [Column('NOME',ftString, 60)]
    [Indexe('idx_nome','nome')]
    [Dictionary('NOME','Nome é obrigatório','','','',taLeftJustify)]
    property nome: string index 1 read Fnome write Fnome;
   end;

implementation

{ TCliente }

{ TCliente }

end.
Responder
#2
Seguinte, analisando o código do Demo com o meu , no artigo estava usando
o ClientDatase e estou usando FDMemTable

logo não é para se criar com
Código:
oCliente := IContainerDataSet<TCliente>.Create(oConexao, tbCliente);

e sim com

Código:
oCliente := TContainerFDMemTable<TCliente>.Create(oConexao, tbCliente, 10);

Desculpem o incomodo com minha falta de atenção...
Responder
#3
Olá @CleitonMaciel, eu é quem peço desculpas, estive afastado esses dias devido um problema pessoal, e por isso não respondi antes, mas fique a vontade em postar seus questionamentos, independente de qual seja, pois se quisermos aprender algo, devemos fazer o que está fazendo que é testando, errando, acertando e perguntando.

Grande abraço e espero seu próximo post.

  Isaque Pinheiro
  Fundador do Projeto ORM Brasil
  ORMBr SAC - Assine e faça parte dessa história ajudando o projeto a crescer.

Responder
#4
Boa noite,

Estou começando a analisar os exemplos, mas não vi nada usando rest/json.
Hoje estou usando o modelo da T2Ti, mas ainda tem muita coisa para melhorar no ORM e estou começando a avaliar o ORMBr um para tentar substituir.

Alguém sabe me informar se é possível fazer com o ORMBr?
- Uma função para carregar a lista de objetos tipo TObjetoList<TCliente> e carregar para dentro do dataset.
Exemplo:
no server vou usar o comando
- oCliente := IContainerDataSet<TCliente>.Create(oConexao, tbCliente);
- Popular um JSONArray e enviar para o client;
- E no client preciso pegar essa lista de clientes e carregar no dataset.

Agradeço a atenção,
Abraços.
Responder
#5
Olá @sandro.borges, conheço o ORM da T2ti, no ORMBr estamos em uma linha de frente para duas etapas que são elas:
Atualização de banco de dados
Camada para uso do ORMBr em plataforma multicamadas, então nesse momento não tem nada pronto ainda.

De uma estudada como o ORMBr funciona, tente vê se encaixa algo que você conhece do ORM da T2ti. temos interesse em colaboradores e ajuda nesse assunto, se quiser tentar ajudar seja bem vindo, e vamso discutindo e testando por aqui no fórum.

  Isaque Pinheiro
  Fundador do Projeto ORM Brasil
  ORMBr SAC - Assine e faça parte dessa história ajudando o projeto a crescer.

Responder


Saltar Fórum:


usuários a ver este tópico: 1 Visitante(s)