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