Einzelnen Beitrag anzeigen

lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Listview zeigt nichts an?

  Alt 16. Apr 2007, 21:08
So Ich habe jetzt mal den Code von dem Newsreader Demo der Indys genommen.
Wenn Ich bei idNNTP1.Host, forums.borland.com eintrage funktioniert es und werden die Groups angezeigt.
Nehme Ich aber meinen Newsserver Eweka, friert die ganze Sache ein.
Ich habe auch noch ein AntiFreeze auf die Form gesetzt.
Gibt es da eine Loesung?
Ich moechte erstmal alle Newsgroups angezeigt haben aber dass funktioniert schonmal nicht.
OwnerData, OwnerDraw stehen auf False.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var idx : Integer;
    li : TListItem;
    NewsGroup : String;
    Hi, Lo : Integer;
    Stat : String;
    NewsList : TStringList;
begin
  if Screen.Cursor <> crDefault then begin
    exit;
  end;
  Screen.Cursor := crHourGlass; try
    {This works as a toggle menu item}
    if Not IdNNTP1.Connected then
    begin
      idNNTP1.Host := 'newsreader11.eweka.nl'; <------ mit forums.borland.com funktionierts
      idNNTP1.Username := '******';
      idNNTP1.Password := '******';
      idNNTP1.Port := 119;
      IdNNTP1.Connect;
      try
        NewsList := TStringList.Create;
        try
          {Get newsgroup list}
          IdNNTP1.GetNewsgroupList(NewsList);
          lvNewsGroups.Items.BeginUpdate;
          {process newsgroups after list}
          idx := 0;
          while idx < NewsList.Count do
          begin
          label1.Caption := IntTostr(Newslist.Count);
            li := lvNewsGroups.Items.Add;
            idNNTP1.ParseNewsGroup(NewsList[idx],NewsGroup,Hi,Lo, Stat);
            {Newsgroup name}
            li.Caption := Newsgroup;
            {Article estimated to be in newsgroup}

            {if lo is greater than Hi, we have no articles}
            if (Lo >= Hi) then
              li.SubItems.Add('None')
            else
              li.SubItems.Add(IntToStr(Hi - Lo));
            {Newsgroup status}
            {This should never be nil but just in case, we check}
            if Length(LowerCase(Stat[1])) > 0 then
              case Stat[1] of
                'y' : li.SubItems.Add('Permitted');
                'n' : li.SubItems.Add('Read-Only');
                'm' : li.SubItems.Add('Moderated');
              end;
            Inc (idx);
          end;
        finally
          lvNewsGroups.Items.EndUpdate;
          NewsList.Free;
        end;
      except
        IdNNTP1.Disconnect;
      end; // try finally
    end // if Not Connected then
    else
    begin
      {Close the connection}
      IdNNTP1.Disconnect;
      {Clear the List Views}
      lvNewsGroups.Items.Clear;
      lvArticles.Items.Clear;
    end; //else .. if Not IdNNTP1.Connected then
  finally Screen.Cursor := crDefault; end;
end;
Recht Herzlichen Dank erstmal.

Gruss Lucius.
  Mit Zitat antworten Zitat