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 >>>>>

<*> 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]
 
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