death.crafter wrote: ↑June 25th, 2021, 2:10 pmWell yeah may be I am wrong but here is what I understand...
Yeah, I understand what you mean - it's more or less equivalent with what I said earlier that the parsing to get to the !Delay is itself delayed due to various circumstances like belonging to a bang, being a nested variable, and all that. Let me simplify even more my sample code, this time without any !Delay bang, since I'm curious if this happens on my updated sample.
And here we go:
death.crafter wrote: ↑June 25th, 2021, 2:10 pmNow what's inside of
[#VarBang] doesn't matter since the first parser takes it as a bang. So right after starting to execute it, it will execute
[!Bang2].
Check out this:
Code: Select all
[Variables]
StartMessageIdx=1
MiddleMessageIdx=1
EndMessageIdx=1
StartMessage1=[!Log "1"]
MiddleMessage1=[!Log "2"]
EndMessage1=[!Log "3"]
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
BackgroundMode=2
SolidColor=47,47,47,255
OnRefreshAction=[#StartMessage[#StartMessageIdx]][#MiddleMessage[#MiddleMessageIdx]][#EndMessage[#EndMessageIdx]]
;OnRefreshAction=#StartMessage1#[#MiddleMessage[#MiddleMessageIdx]]#EndMessage1#
;OnRefreshAction=#StartMessage1#[#MiddleMessage[#MiddleMessageIdx]][#EndMessage[#EndMessageIdx]]
;OnRefreshAction=[!Log "1"][#MiddleMessage[#MiddleMessageIdx]][#EndMessage[#EndMessageIdx]]
;OnRefreshAction=[#StartMessage[#StartMessageIdx]][#MiddleMessage[#MiddleMessageIdx]][!Log "3"]
;OnRefreshAction=[!Log "1"][#MiddleMessage[#MiddleMessageIdx]][!Log "3"]
---Meters---
[DummyMeter]
Meter=Image
W=100
H=100
SolidColor=255,0,0,255
All the (commented or not) OnRefreshAction lines produce the same result: 1, 2 and 3 are written to the log, in this ascending order, irrespective if the bang is contained within a nested variable or not (you can try other variations of it, of course). This doesn't match your statements that "it doesn't matter what's there" because it's not completely parsed yet, unless I misunderstood the whole thing you were trying to convey.
Log 1.jpg
Also, even if you were right, the latest simplified sample doesn't produce unwanted effects, while the one with !Delay-s instead of !Log-s does. For me, that's the definition of a bug: something that
should work (since all these belong to the same category, i.e. bangs within nested variables, in the OnRefreshAction), but don't - despite the fact that
everything else from that category does work.
P.S. Now try inserting a
[!Delay 3000] at the start of one of those message variables (except the end one, obviously), and prepare yourself to see things go haywire...
Log 2.jpg
P.S.S. This happens even in a regular
LeftMouseUpAction=[#StartMessage[#StartMessageIdx]][#MiddleMessage[#MiddleMessageIdx]][#EndMessage[#EndMessageIdx]] added to the meter, by the way (where, let's say,
StartMessage1=[!Delay 3000][!Log "1"]), so it has nothing to do with the [Rainmeter] section not supporting dynamic variables (though the nested ones are a bit of a super-dynamic ones, since they work in non-dynamic sections as well).
You do not have the required permissions to view the files attached to this post.