AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView als Ablaufplan selber erstellen

Ein Thema von bis · begonnen am 15. Feb 2003 · letzter Beitrag vom 15. Feb 2003
Antwort Antwort
bis
(Gast)

n/a Beiträge
 
#1

TreeView als Ablaufplan selber erstellen

  Alt 15. Feb 2003, 14:19
Hi Leute, ich sitze seit gestern an einem Problem, ich möchte gerne einen TreeView als Ablaufplan haben, wo der User selber den Ablauf bestimmen kann. Um jetzt den Tree zu erstellen habe ich folgenden Code erstellt :
Code:
procedure TConfigurationMain.category_addClick(Sender: TObject);
begin
  if category_tree_view.Items.Count = 0 then
    category_tree_view.Items.Add(nil,category_name.Text)
  else begin
    if category_tree_view.Selected.EditText then
      category_tree_view.Items.AddChild(category_tree_view.Selected,category_name.Text)
    else
      category_tree_view.Items.Add(nil,category_name.Text);
  end;
  category_name.Clear;
end;
Also, wenn ich auf denn Button Klicke soll er einen neuen Eintrag machen, ist nichts makiert, so soll er diesen Eintrag aus dem Edit-Feld als Hauptknotenpunkt machen. Ist ein Punkt makiert, so soll der Eintrag aus dem Edit-Feld als Unterpunkt in den Tree aufgeführt werden. Das mit den Unterpunkten funktioniert ja auch irgendwie. Nur das mit den Weitere haupteinträgen funktioniert nicht richtig. Was mache ich verkehrt ? Hat jemand eine bessere Lösung als die Komponente TTreeView ?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 15. Feb 2003, 14:25
Moin Rolf,

statt Add würde ich's mal mit AddChild probieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
bis
(Gast)

n/a Beiträge
 
#3
  Alt 15. Feb 2003, 14:41
Wo ? Einen Tree mit einem Zweig kann ich ja einwandfrei erstellen. Ersetze ich jetzt das zweite Add durch einen AddChild, bekomme ich genau in der Zeile eine Fehlermeldung :
Zitat:
Im Projekt xxxx ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung:
'zzzzzz'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start
fortsetzen.
Das schwarze funktioniert einwandfrei, rot bekomme ich die obengenannte Fehlermeldung in der zweiten Else-Schleife mit AddChild und mit Add bei der zweiten If-Abfrage :

-- Test_1
||
|- Test_1_1
||
|- Test_1_2
|
-- Test_2
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 15. Feb 2003, 15:05
Moin Rolf,

die AccessViolation dürfte daher kommen, dass Du die Eigenschaft Selected benutzt, ohne vorher geprüft zu haben, ob denn überhaupt ein Item Selected ist. Wenn nicht gibt Selected nil zurück, und somit wird beim Zugriff auf Selected.EditText eine Exception ausgelöst.

Bei mir sähe das so aus:

Delphi-Quellcode:
procedure TConfigurationMain.category_addClick(Sender: TObject);
begin
  if category_tree_view.Items.Count = 0 then
  begin
    category_tree_view.Items.Add(nil,category_name.Text);
  end
  else
  begin
    category_tree_view.Items.AddChild(category_tree_view.Selected,category_name.Text);
  end;
  category_name.Clear;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
bis
(Gast)

n/a Beiträge
 
#5
  Alt 15. Feb 2003, 15:12
Ich danke Dir, so funktioniert es wunderbar. Ich hatte das zwar in meinen unzähligen Versuchen ohne die zweite If-Schleife ausprobiert aber es funktionierte nicht. Ist ja jetzt auch egal. Ich Danke Dir nochmals ganz herzlich hast mir echt weitergeholfen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz