Einzelnen Beitrag anzeigen

Bünni

Registriert seit: 4. Mär 2019
67 Beiträge
 
#4

AW: VST, Suche SelectItem-ähnliches Event. OnChange scheitert an FocusedNode.GetData

  Alt 12. Mär 2019, 13:39
Ich konnte das ganze Problem jetzt noch durch eine Art Schummelei ausgleichen.
Wenn ich Nodes mit dem Selektierungs-Kasten markiere, werden bestimmte Elemente der Benutzeroberfläche aktiviert oder deaktiviert.

Das Problem war, dass wenn man einen Node selektiert hat alles abläuft wie gewünscht. Beim zweiten (mit dem selben gedrückten Mausklick) auch.
De-selektiert man jetzt einen Node (noch immer im selben gedrückten Mausklick), dann weiß das VST zwar, dass nur noch 1 Node selektiert ist aber der übergebene Node an OnChange ist immer nil. Wahrscheinlich weil er selektiert war und sich danach nicht mehr ändert.

Repariert habe ich dieses Verhalten, indem ich am Ende meiner OnChange-Prozedur nun prüfe
Delphi-Quellcode:
 if (NodeSelectedCount = 1) then
  begin
   // FIX
   if SelectedNode = nil then // Wenn der Node nil ist, obwohl er selektiert ist ...
    SelectedNode := VST.GetFirstSelected; // ... hole den letzten verbleibenden selektierten Node
   // /FIX
Ob das aber das Gelbe vom Ei ist weiß ich nicht. Anders habe ich es noch nicht hinbekommen.
Das scheint ein Problem im OnChange mit dem letzten selektierten Node zu sein. SelectedCount funktioniert wie es soll hingegen.

Geändert von Bünni (12. Mär 2019 um 14:55 Uhr)
  Mit Zitat antworten Zitat