![]() |
VST betsimmten Node ansprechen
Hi,
Ich möchte gerne die Nodes in einer Schleife ansprechen, jedoch weiß ich nur wie ich den 1. und den 2. Node anspreche. GetFirst 1. Node GetFirst.NextSibling 2. Node jedoch wie mache ich es per Schleife?
Delphi-Quellcode:
For i := 0 to Vst.RootNodeCount -1 do
Begin // ?? End; |
Re: VST betsimmten Node ansprechen
Du musst die Schleife zu einer while-Schleife umfunktionieren, dann geht das ziemlich einfach, da du dich von Knoten zu Knoten hangeln kannst
Delphi-Quellcode:
Node := Vst.GetFirstNode;
while Node <> nil do begin // ... Mit Node etwas anstellen ... Node := Vst.GetNextSibling(Node); end; |
Re: VST betsimmten Node ansprechen
Zitat:
Zitat:
Edit: Habe es nun so gelöst.
Delphi-Quellcode:
while Node <> nil do
begin if VstEmpfaengerGruppe.GetNext(Node) = nil then Exit; Node := Vst.GetNextSibling(Node); end; |
Re: VST betsimmten Node ansprechen
Zitat:
|
Re: VST betsimmten Node ansprechen
So war das nicht gemeint, natürlich funktioniert er nur es tritt beim letzten Aufruf eine Exception mit Zugriffsverletzung auf.
|
Re: VST betsimmten Node ansprechen
Zitat:
|
Re: VST betsimmten Node ansprechen
Zitat:
Delphi-Quellcode:
so geht es allerdings.
while Node <> nil do
begin if VstEmpfaengerGruppe.GetNext(Node) = nil then Exit; Node := Vst.GetNextSibling(Node); end; |
Re: VST betsimmten Node ansprechen
Du kannst auch mal IterateSubTree (oder so ähnlich?) ausprobieren.
|
Re: VST betsimmten Node ansprechen
getNext() und GetNextSibling() sind unterschiedliche Funktionen mit unterschiedlichen Zweck!
Mir leuchtet auch nicht ein was dein Konstrukt bezweckt. Der Programmfehler kommt eher durch einen Programmfehler und nicht durch den VST. Das Beispiel von jbg ist richtig und funktioniert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz