If I put my graphics routine where TForm and Canvas can be seen, my graphics routine is no longer visible to the other thread, from which it would be invoked. Calling synchronize(@TForm1.DrawMeter); gives me:
mainunit.pas(205,30) Error: Incompatible type for arg no. 1: Got "<address of procedure(TObject) of object;Register>", expected "<procedure variable type of procedure of object;Register>"