Foi um erro de digitação, acontece. E em momento algum citei seu nome, apenas disse que "outras pessoas". E isso é tudo. Não estou interessado em ficar batendo boca em uma lista de discussão pública. Ninguém que está nessa lista está para ler esse tipo de e-mail, mas assuntos profissionais.
E para finalizar, digo: Sim, agora eu me refiro a vc. Td que escrevi ali está sendo direcionado para vc. Gostando ou não. Sem mais. Elias Magalhães da Paixão Junior ___________________________________ Análise de Sistemas e Banco de Dados Consultoria e desenvolvimento de programas, sistemas e websites Tel.: (0XX21) 8262-7955 -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Eduardo Castro Alves Enviada em: segunda-feira, 14 de maio de 2007 10:19 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] Violação de Memória em Array Bem, então você terá que estudar Delphi e como se expressar melhor. Você colocou isso: logsCapturados:=log.create; Então vamos ver se vc entende desenhando. Se logsCapturados é um vetor, para você criar você deve passar o indice de qual você está criando. logsCapturados[INDICE] := LOG.CREATE; Só estou surpreso por que se você conhece tanto assim de vetores não saber isso. Quanto ao passar um vetor como parametro para um metodo é o mesmo de qualquer outro objeto ou variável. Referente a ser humilde ou não acho que você não pode me julgar. Disse e repito VOCÊ TEM QUE ESTUDAR MUITO MAIS isso não significa que eu não sou humilde e sim que você precisa ESTUDAR E PRESTAR MAIS ATENÇÃO NO QUE VOCÊ ESTÁ FAZENDO. Eduardo Ps: Ja foi o tempo que eu ficava perdendo o meu tempo com estas discussões, por tanto não responderei nenhum outro email sobre este assunto. Elias Magalhães da Paixão Junior escreveu: > > Concordo plenamente que eu tenho que estudar muito e tb concordo que que > outras pessoas no mundo também, bem como outras precisam aprender certas > coisas como humildade, educação e decência. > > Eduardo, agradeço sua boa vontade mas lamento lhe informar que sei > como se utiliza um array mas que vai ser bom pois essas dicas podem > servir para alguma outra pessoa, que assim como eu tb tem de estudar > muito. > > Para que entendam melhor o que eu escrevi, vou colocar a procedure > inteira. > > A declaração: > > private > logsCapturados:array of icmpScan_cl_log_usr; > > A procedure: > > procedure icmpScan_cl_log_adm.procuraLogs; > var > busca: TSearchRec; > logList: TStrings; > Ret,i: Integer; > host: string; > begin > Ret := FindFirst('append\*.ims', faAnyFile, busca); > logList:=TStringlist.Create; > i:=0; > try > while Ret = 0 do > begin > logList.Add(busca.Name); > > host:=copy(logList.ValueFromIndex[i],pos('_',logList.ValueFromIndex[i])+ > 1,length(logList.ValueFromIndex[i])-3-(pos('_',logList.ValueFromIndex[i] > )+1)); > logsCapturados[i]:=icmpScan_cl_log_usr.create(host); --> O > erro acontece aqui. Como se a variável não tivesse sido declarada. > Ret := FindNext(busca); > i:=i+1; > end; > finally > begin > FindClose(busca); > end; > end; > end; > > > E voltando a dizer, que se eu declarar esse array como uma variável da > procedure, ao invés da unit, funciona. > > Elias Magalhães da Paixão Junior > ___________________________________ > Análise de Sistemas e Banco de Dados > Consultoria e desenvolvimento de programas, sistemas e websites > Tel.: (0XX21) 8262-7955 > -----Mensagem original----- > De: delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br> > [mailto:delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br>] > Em nome de Eduardo Castro Alves > Enviada em: segunda-feira, 14 de maio de 2007 07:58 > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Violação de Memória em Array > > Acho que vc deve estudar muito. Segue abaixo um exemplo de um vetor > dinâmico e um de tamanho fixo. > > var > i : Integer; > A1 : Array of String; > A2 : Array [0..10] of String; > > begin > > Memo1.Clear; > SetLength(A1, 20); // defino o tamanho do vetor > for i := 0 to Length(A1) - 1 do > A1[i] := 'Vetor A1 Linha ' + IntToStr(i); > > for i := 0 to 10 do > Memo1.Lines.Add(A1[i]); > > for i := 0 to 10 do > A2[i] := 'Vetor A2 Linha ' + IntToStr(i); > > for i := 0 to 10 do > Memo1.Lines.Add(A2[i]); > > end; > > Eduardo > > Elias Magalhães da Paixão Junior escreveu: > > > > Amigos, > > > > Preciso perturbá-los mais uma vez, pois não consigo encontrar solução. > > Em uma unit, tenho o seguinte array declarado: > > > > Private > > logsCapturados: array of log --> Já tentei estático tb. > > > > > > Logo depois, em uma procedure, ele é criado: > > > > logsCapturados:=log.create; > > > > Aqui ocorre o erro de violação de memória, aquele mesmo que ocorre > > quando o objeto não existe. O fato mais curioso é que se eu declarar o > > array DENTRO da procedure, ele funciona normalmente, com o mesmo > código. > > Quando eu declaro como parte da classe, acontece isso. Alguém sabe??? > > > > Elias Magalhães da Paixão Junior > > ___________________________________ > > Análise de Sistemas e Banco de Dados > > Consultoria e desenvolvimento de programas, sistemas e websites > > Tel.: (0XX21) 8262-7955 > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos