so I tried to filter the performDAT with a selectDAT.
The expression not me.inputTable[me.inputRow,‘path’].val.startswith((‘/local’,‘/ui’)) in rowexpr throws the error: ‘NoneType’ object has no attribute ‘val’
I can fix that with me.inputRow > -1 and not me.inputTable[me.inputRow,‘path’].val.startswith((‘/local’,‘/ui’)), which makes me think at some point me.inputRow is smaller than 0.
Is this expected?
I think it’s equal to -1 when TD is showing the expression in the input field. (perhaps TD has no inputTable accessible when rendering the input field). If you just write down ‘me.inputRow’ it shows -1 initially.
What you can do is just use str(me.inputTable[me.inputRow,‘path’]).startswith(…)
Though have to say it’s not a very good idea to do this, since it’s super slow. It will search the DAT every frame (since the peformDAT is cooking every frame). Which takes more than 1ms on my machine.
Perhaps it’s better to filter the information once when clicking a button or starting an executeDAT when the patch is opened.
thank you for your answer.
I’m aware, that this will cook every frame and am not planing to have it running in a real patch.
I was playing around with the performDAT and discovered the odd behavior of the selectDAT, which seems like a bug to me, so I reported it here.