Olá, Eduardo. Tb não deu certo... continua dando o mesmo tipo de erro...
mas se eu retiro a linha onde está escrito: oRaca.Create; dá certo... Mas isto não é o correto, certo? Segundo o que entendi sobre o conceito de classes, toda classe precisa ser criada/ inicializada antes de chamar qualquer método dela... []'s Sheila >From: "Eduardo" <[EMAIL PROTECTED]> >Reply-To: delphi-br@yahoogrupos.com.br >To: <delphi-br@yahoogrupos.com.br> >Subject: RES: [delphi-br] Re: Criando classes no delphi >Date: Sun, 22 May 2005 12:21:36 -0300 > >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] > _________________________________________________________________ MSN Messenger: converse online com seus amigos . http://messenger.msn.com.br -- <<<<< 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