Tailbite 1.4.7 with PB 4.51.
Tailbite First.pb and Second.pb. Then run Third.pb. Seems that the protected variable alpha$ gets shared.
First.pb
Code:
Procedure$ First_Private(p1$)
Protected alpha$ = ""
alpha$ = p1$ + " first"
ProcedureReturn alpha$
EndProcedure
ProcedureDLL$ First(p1$)
ProcedureReturn First_Private(p1$)
EndProcedure
Second.pb
Code:
Procedure$ Seconds_Private(p1$)
Protected alpha$ = ""
alpha$ = p1$ + " second"
ProcedureReturn alpha$
EndProcedure
ProcedureDLL$ Seconds(p1$)
ProcedureReturn Seconds_Private(p1$)
EndProcedure
Third.pb
Code:
Debug First(Seconds("*")) ; * second* second first
Procedure$ InFirst(p1$)
Protected alpha$ = ""
alpha$ = p1$ + " first"
ProcedureReturn alpha$
EndProcedure
Procedure$ InSeconds(p1$)
Protected alpha$ = ""
alpha$ = p1$ + " second"
ProcedureReturn alpha$
EndProcedure
Debug InFirst(InSeconds("*")) ; * second first