external ist eine Direktive, die zur Kompilierzeit ausgewertet wird. Und dort wird der Code noch nicht ausgeführt. Deshalb können nur konstante Namen für die statische Bindung verwendet werden.
Für dich kommt wohl das [
dp="
DLL dynamisch"]dynamische Einbinden[/
dp] in Frage.