Announcement

Collapse
No announcement yet.

Treeview note.data zuweisen

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

  • Treeview note.data zuweisen

    Hallo,

    ich möchte wenn ich auf Child doppelklicke, soll der Link (die Datei) in
    Webbrowser1 aufgerufen werden

    Es funktioniert aber nur der Link in der letzte Reihe wird immer aufgerufen und das ist egal wo ich doppelklicke

    Warum wird immer der Link 4 in ListBox1 aufgerufen ?!

    Hier ist der Code :

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, OleCtrls, SHDocVw, ComCtrls, ImgList;
    type
        PMydata = ^TMyData;
        TMyData = Record
            Url: string;
    
        end;
    type
      TForm1 = class(TForm)
        TreeView1: TTreeView;
        ListBox1: TListBox;
        WebBrowser1: TWebBrowser;
        ImageList1: TImageList;
        procedure FormCreate(Sender: TObject);
        procedure TreeView1DblClick(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    var node: TTreeNode;
    I: Integer;
    data: PMyData;
    Begin
    node:=TreeView1.Items.GetFirstNode;
      while node <> nil do
       begin
        if node.level = 1 then
        for i:= 0 to 3 do
        data.Url := ListBox1.Items[i];
        new( data);
        Node.Data := data;
        node := node.GetNext;
      end;
    End;
    
    procedure TForm1.TreeView1DblClick(Sender: TObject);
    var
         data: PMyData;
    begin
        data := (Sender as TTreeView).Selected.Data;
        if data <> Nil then
        Webbrowser1.Navigate(data.url);
    end;
    
    end.
    ListBox1.Inhalt :
    Code:
    http://google.com
    http://yahoo.com
    http://msn.com
    http://gmx.com

  • #2
    Hallo,

    Dein data.url hat nach Durchlauf der DO Schleife immer den Wert von
    ListBox1.Items[3] also "gmx.com"

    Durchdenke Dein Programm nochmal.
    Wahrscheinlich fehlt Deiner Do-Schleife ein Begin und ein end.

    Gruß frauwue
    Zuletzt editiert von frauwue; 29.04.2008, 22:47. Reason: Ergänzung
    docendo discimus

    Comment

    Working...
    X