Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Dúvida] criando componente em run time

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Delphi [Dúvida] criando componente em run time

    Source original:

    Código:
    Function MeuIP: string;
    var
    iip : char;
    site: string;
    d,c,cont : integer;
    begin
    c := 215;
    d := 15;
    site := Form1.IdHTTP1.Get('http://meuip.datahouse.com.br');
    MeuIP := Copy(site, Pos('', site) +c, d);
    for cont := 1 to 15 do
    begin
    iip := Copy(site, Pos('', site) +c, d)[1];
    if iip = ' ' then
    c := c+1;
    iip := Copy(site, Pos('', site) +c, d)[length(Copy(site, Pos('', site) +c, d))];
    if iip = '<' then
    d := d-1;
    MeuIP := Copy(site, Pos('', site) +c, d);
    end;
    end;


    Depois que eu modifiquei:

    Código:
    Function MeuIP: string;
    var
    iip : char;
    site: string;
    d,c,cont : integer;
    IdHTTP1 : TIdHTTP;
    begin
    IdHTTP1 := IdHTTP1.create(self);
    c := 215;
    d := 15;
    site := Form1.IdHTTP1.Get('http://meuip.datahouse.com.br');
    MeuIP := Copy(site, Pos('', site) +c, d);
    for cont := 1 to 15 do
    begin
    iip := Copy(site, Pos('', site) +c, d)[1];
    if iip = ' ' then
    c := c+1;
    iip := Copy(site, Pos('', site) +c, d)[length(Copy(site, Pos('', site) +c, d))];
    if iip = '<' then
    d := d-1;
    MeuIP := Copy(site, Pos('', site) +c, d);
    end;
    IdHTTP1.free;
    end;

    Erros que está dando:

    [DCC Error] Unit1.pas(117): E2003 Undeclared identifier: 'self'
    [DCC Error] Unit1.pas(120): E2003 Undeclared identifier: 'IdHTTP1'

    Porque está dando este erro? Eu fiz o mesmo em outra parte da source com o tcpclient e deuc erto...
    Att,

    [A]ntharaz



    sigpic

  • Font Size
    #2
    agora que percebi...


    IdHTTP1 := IdHTTP1.create(self);


    O correto é:


    IdHTTP1 := TIdHTTP.create(nil);

    Mais uma dúvida...

    Porque quando eu coloco o self no lugar no nil ele fala que não declarei o self sendo que eu usei ele em outro componente run time?
    Att,

    [A]ntharaz



    sigpic

    Comment


    • Font Size
      #3
      Amigo Antharaz, vi que vc tem várias dúvidas aew, desculpa mas no fds fico off e só vou poder responder todas elas na segunda =/
      Bom respondendo essas:

      [DCC Error] Unit1.pas(120): E2003 Undeclared identifier: 'IdHTTP1'
      Isso está acontecendo por causa dessa linha:
      site := Form1.IdHTTP1.Get('http://meuip.datahouse.com.br');
      Vc está indicando que o componente IdHTTP1 está declarado no form1, o que não está correto pois vc o declarou dentro da function, pra resolver só tire o "form1" da frente.



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

      [DCC Error] Unit1.pas(117): E2003 Undeclared identifier: 'self'
      Quando vc usa Self seria o mesmo que vc dizer que o "parent" dele é o objeto principal da função que vc está chamando, por exemplo, se vc usar dentro da função:
      Código:
      Function TForm1.IP : String;
      Begin
        IdHTTP1 := IdHTTP1.create(Self);
      End
      Seria a mesma coisa que vc usar:
      Código:
      Function TForm1.IP : String;
      Begin
        IdHTTP1 := IdHTTP1.create(Form1);
      End
      Como vc está tentando usar o self dentro de uma função que não referencia um objeto ele simplesmente não existe




      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Não sei se ficou claro e se é bem isso pois estou respondendo isso as 02:12 da manhã de domingo e to semi alcolizado qualquer dúvida pede aí que eu respondo quando estiver em condições
      Bons estudos
      []s
      <<< ENGINEERING CODERZ - HACKING PROGRAMMING GROUP >>>
      msn/mail: azurus21@gmail.com

      Comment


      • Font Size
        #4
        vlw azurus... deu para entender sim.... no curso que eu baixei explica muito bem isto também...

        ^^
        Att,

        [A]ntharaz



        sigpic

        Comment

        X
        Working...
        X