Pessoal,

para quem não soube responder o meu problema, é o seguinte:

Na unit untRaca eu escrevi:
 oRaca.Create;
mas deve ser:
 oRaca := TRaca.Create;

E na unit clRaca não é necessário ter o contructor e o destructor, a não ser 
que seja necessário redefini-los.

Aos que tentam me ajudar eu agradeço.

[]'s

Sheila

  ----- Original Message ----- 
  From: Eduardo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Sunday, May 22, 2005 12:21 PM
  Subject: RES: [delphi-br] Re: Criando classes no delphi


  Faz um teste assim

  constructor TRaca.Create;
     begin
       inherited;
       //  idRaca := 0;
       //  descricao:= '';
       //  porte:= '';
       //  especie:= '';
       end;

  Eduardo



  -----Mensagem original-----
  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
  Em nome de Sheila
  Enviada em: sábado, 21 de maio de 2005 23:45
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Re: Criando classes no delphi


  Olá.
  segue as respostas abaixo:
    ----- Original Message ----- 
    From: Romario (Listas) 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Saturday, May 21, 2005 4:49 PM
    Subject: Re: [delphi-br] Re: Criando classes no delphi


    1) Você Conseguiu compilar o programa?
    RESP: sim, compilei o programa

    2) Você fez algum teste?
    RESP: a conexão com o bd está ok, inclusive coloquei um datagrid para
  testar e exibiu os dados direitinho

    3) Onde e qual é o erro que está ocorrendo?
    RESP: o erro ocorre justamente na linha onde está escrito:
  "oRaca.Create;" 
    na "procedure TfrmRaca.btnGravarClick(Sender: TObject)" 
    da unit "untRaca"
    e o erro que dá é o seguinte:
    "Access violation at address 004E48F8 in module
  'prjExercicioClasse.Exe'. Read of Address of 00000000". 
    Process Stopped. Use Step or Run to continue.
    e quando dou "RUN" na animação do programa pula para a linha onde está
  escrito: "oRaca.Free;"


    4) Quais os componentes de acesso à dados que você está utilizando?
    RESP: os componentes ADO, mas o acesso a base de dados está
  funcionando

    5) Qual o banco de dados que você está utilizando?
    RESP: vou utilizar o Access 2000 mesmo

    Dê mais detalhes para que possamos ajudá-la.
    RESP: Se o grupo aceitasse anexos, ficava mais fácil...
    Sds,

    Romario

    

    Sheila escreveu:
    > Parece que o grupo não aceita anexos :(
    > Então vou enviar o conteúdo das units logo abaixo.
    > 
    >   Boa tarde, pessoal.
    > 
    >   Estou tentando aplicar o conceito de uml (diagrama de classes) no
  delphi 7 e fiz um exercício me baseando no livro "Desenvolvendo
  aplicações com UML 2.0" de Ana Cristina Melo, mas está dando erro. 
    >   Estou enviando em anexo o exercício para quem puder me ajudar.
    >   Estou precisando para fazer o projeto da faculdade e estou tendo
  dificuldades por enquanto nesta parte.
    >   Se alguém tiver uma apostila ou link que explique melhor isso será
  de grande ajuda pq pesquisei no google e não achei muita coisa que me
  ajudasse.
    > 
    >   A quem puder me ajudar eu agradeço antecipadamente.
    > 
    >   []'s
    >   Sheila
    > 
    > 
    >   // UNIT RACA DO FORM
    >   unit untRaca;
    > 
    >   interface
    > 
    >   uses
    >     Windows, Messages, SysUtils, Variants, Classes,
    >     Graphics, Controls, Forms,
    >     Dialogs, StdCtrls, Mask, Buttons, ExtCtrls;
    > 
    >   type
    >     TfrmRaca = class(TForm)
    >       pnlCabecalho: TPanel;
    >       btnLocalizar: TBitBtn;
    >       btnPrimeiroRegistro: TBitBtn;
    >       btnRegistroAnterior: TBitBtn;
    >       btnProximoRegistro: TBitBtn;
    >       btnUltimoRegistro: TBitBtn;
    >       pnlDados: TPanel;
    >       lblDescricao: TLabel;
    >       lblIDRaca: TLabel;
    >       lblPorte: TLabel;
    >       edtDescricao: TEdit;
    >       mskIDAnimal: TMaskEdit;
    >       cboPorte: TComboBox;
    >       cboEspecie: TComboBox;
    >       lblEspecie: TLabel;
    >       pnlRodape: TPanel;
    >       btnGravar: TBitBtn;
    >       btnCancelar: TBitBtn;
    >       lblTituloCinza: TLabel;
    >       lblTituloAzul: TLabel;
    >       procedure FormClose(Sender: TObject; var Action:
  TCloseAction);
    >       procedure btnGravarClick(Sender: TObject);
    >     private
    >       { Private declarations }
    >       function validarCampos(): boolean;
    >     public
    >       { Public declarations }
    >     end;
    > 
    >   var
    >     frmRaca: TfrmRaca;
    > 
    >   implementation
    >   uses clRaca;
    > 
    >   var
    >     oRaca : TRaca;
    > 
    >   {$R *.dfm}
    > 
    >   procedure TfrmRaca.FormClose(Sender: TObject; var Action:
  TCloseAction);
    >   begin
    >     Action := caFree;
    >   end;
    > 
    >   procedure TfrmRaca.btnGravarClick(Sender: TObject);
    >   begin
    > 
    >     if (validarCampos) then
    >       begin
    >         oRaca.Create;
    >         oRaca.IncluirRaca(edtDescricao.Text, cboPorte.Text,
  cboEspecie.Text);
    >         oRaca.Free;
    >       end;
    > 
    >   end;
    > 
    > 
    >   function TfrmRaca.validarCampos(): boolean;
    >   begin
    >     validarCampos := true;
    > 
    >     if (Length(edtDescricao.text) = 0) then
    >       begin
    >         ShowMessage('É necessário informar a descrição da raça!');
    >         edtDescricao.SetFocus;
    >         validarCampos := false;
    >         exit;
    >       end;
    > 
    >     if (cboPorte.ItemIndex = -1) then
    >       begin
    >         ShowMessage('É necessário informar o porte da raça!');
    >         cboPorte.SetFocus;
    >         validarCampos := false;
    >         exit;
    >       end;
    > 
    >     if (cboEspecie.ItemIndex = -1) then
    >       begin
    >         ShowMessage('É necessário informar a espécie da raça!');
    >         cboEspecie.SetFocus;
    >         validarCampos := false;
    >         exit;
    >       end;
    >   end;
    > 
    >   end.
    > 
    > 
    > 
    >   //  UNIT DA CLASSE RACA
    >   unit clRaca;
    > 
    >   interface
    >   uses
    >     Windows, Messages, SysUtils, Variants, Classes, Dialogs;
    > 
    >   type
    >     TRaca = class
    >     private
    >       idRaca : integer;
    >       descricao: string;
    >       porte: string;
    >       especie: string;
    >     protected
    >     public
    >       constructor Create;
    >       destructor Destroy; override;
    > 
    >       procedure ObterRacas();
    >       procedure IncluirRaca(descricao: string;porte: string;especie:
  string);
    >       function LocalizarRaca(desc:string): string;
    >     end;
    > 
    > 
    > 
    >   implementation
    > 
    > 
    >   constructor TRaca.Create;
    >   begin
    >   //  inherited Create;
    >   //  idRaca := 0;
    >   //  descricao:= '';
    >   //  porte:= '';
    >   //  especie:= '';
    >   end;
    > 
    >   destructor TRaca.Destroy;
    >   begin
    >   //  inherited Destroy;
    >   end;
    > 
    >   procedure TRaca.ObterRacas();
    >   begin
    >   //  Fazer a conexão com o bd para obter todas as raças
    >     ShowMessage('Em construção');
    >   end;
    > 
    >   procedure TRaca.IncluirRaca(descricao: string;porte:
  string;especie: string);
    >   begin
    >   //  Fazer a conexão com o bd para incluir um cadastro de raça
    >     ShowMessage('Em construção');
    >   end;
    > 
    >   function TRaca.LocalizarRaca(desc:string): string;
    >   begin
    >   //  Fazer a conexão com o bd para localizar uma determinada raça
    >     ShowMessage('Em construção');
    >   end;
    > 
    >   end.



    -- 
    <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

    Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

    Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED] ou [EMAIL PROTECTED]





  ------------------------------------------------------------------------
  ------

    Links do Yahoo! Grupos

      a.. Para visitar o site do seu grupo na web, acesse:
      http://br.groups.yahoo.com/group/delphi-br/
        
      b.. Para sair deste grupo, envie um e-mail para:
      [EMAIL PROTECTED]
        
      c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
  Serviço do Yahoo!. 



  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]




    _____  

  Links do Yahoo! Grupos


  *      Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/delphi-br/
    

  *      Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]
  <mailto:[EMAIL PROTECTED]> 
    

  *      O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
  Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . 




  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]




------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
do Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a