Thema: Delphi Weitere Probleme mit VST

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Weitere Probleme mit VST

  Alt 25. Jan 2004, 18:05
Hi,
leider ist es schwierig innerhalb von wenigen Zeichen einen besseren Titel zu finden.
Mein Problem besteht darin, dass ich einige Nodes im VirtualStringTree nicht hinzufügen kann, da eine Funktion ab einer gewissen Konstante eine Endlosschleife bildet. Erklären kann ich mir das nicht.

Eine Gruppe/ein Projekt sieht als Grundgerüst so aus:

Code:
- Projektname
 |
 |- Sources
 |
 |- Bugs
 |
 |- ToDos
 |
 |- Entwickler
 |
 |- Veröffentlichungen
Jede dieser Texte (bis auf "Projektname") ist eine Konstante bspw. IDC_SOURCES.
Um von einer beliebig gewählten Node ausgehend eine Node bspw. unter "Sources" einzufügen habe ich folgenden Code:
Delphi-Quellcode:
procedure TfrmMain.mpSourceClick(Sender: TObject);
var
  pNode, pTemp: PVirtualNode;
  pData: PTVData;
begin
  if vstData.FocusedNode = nil then Exit;

  pTemp := GetProjectNode(vstData.FocusedNode);
  pNode := vstData.AddChild(GetListNode(pTemp, IDC_SOURCES));
  pData := vstData.GetNodeData(pNode);

  pData.dwMode := 3;
  pData.szURL := IDC_NONAME;

  self.SaveList;
  self.UpdateList;
  pcMode.ActivePage := tsStart;
end;
Die Funktionen GetProjectNode und GetListNode habe ich als Textdateien angehängt.

Die Konstanten sind in folgender Weise deklariert:
Delphi-Quellcode:
  // captions
  IDC_SOURCES = 'Sources';
  IDC_BUGS = 'Bugs';
  IDC_TODOS = 'ToDos';
  IDC_CODERS = 'Entwickler';
  IDC_PUBLICATIONS = 'Veröffentlichungen';
  IDC_NONAME = 'unbenannt';
An sich funktioniert die Funktion wunderbar. Das Problem tritt erst auf, wenn ich IDC_TODOS verwenden will (statt IDC_SOURCES im obigen Beispiel). Ebenfalls bei IDC_CODERS und IDC_PUBLICATIONS tritt eine Endlosschleife auf.

Woran kann das liegen, dass erst ab einem gewissen Punkt ein solcher Fehler auftritt?

Chris
  Mit Zitat antworten Zitat