Let $X$ be a Banach space, and assume $K\subset X$ is compact.
If $x_n,x \in K$ for every $n$, and $T(x_n) \to T(x) \quad \forall \ T \in X^\ast,$ then: $$x_n \to x.$$
My idea:
Assume wlog that $x=0$. We want to show that $||x_n||\to 0.$
Fix $\varepsilon >0$. Since $||x_n||=\text{Sup}_{||T||=1}|T(x)|$, we can choose $T^n$, with $||T^n||=1,$ such that $||x_n||<|T^n(x_n)|+\varepsilon.$
For every $n$, set $A_m^n:=T^n(x_m).$ By assumption, $A^n_m \to 0$ as $m \to \infty$. I think that the diagonal subsequence $A_n^n$ should go to zero, using the compactness of $K$, but I'm not sure how to show this. If this were the case, for $n$ big enough we would have $||x_n||< 2\varepsilon$, concluding the proof.