Gleich vorneweg schon mal vielen Dank für jede Hilfe! Dieses Forum und die Leute hier sind wirklich klasse!

Ich habe ein einfaches Problem, für das ich selber leider keine einfach Lösung finde (jedenfalls keine, die mir gefällt).
Ich habe den Code meines Programms auf mehrere Dateien aufgeteilt, die ich mit "Include" einbinde. Sortiert habe ich ganz einfach danach, was thematisch zusammengehört. Ich habe z.B. eine Datei, die alle Prozeduren beinhaltet, die sich um die Menüs drehen, eine andere, die alle Prozeduren bzgl. Gamepads/Joysticks beinhaltet usw.
Nun komme ich zum ersten Mal mit dieser Aufteilung nicht weiter, weil ich eine Art Zirkelbezug geschaffen habe. Die Prozeduren in Datei B brauchen die Prozeduren von Datei A. Das ist so weit kein Problem. Ich binde einfach Datei B nach Datei A ein. Aber eine Prozedur aus Datei A braucht den Inhalt einer Liste, die von einer Prozedur in Datei B erstellt wird.
Jetzt habe ich keine Möglichkeit mehr, das Projekt zu kompilieren, weil der Kompiler sich bei Datei A beschwert, dass die Liste nicht deklariert wurde und gar nicht bis zu Datei B weitermacht.
Der Fehler ist für mich nicht so ganz nachvollziehbar. Ja, ich sehe den Zirkelbezug selber, aber schaut man sich den Code an, gibt es absolut keine Möglichkeit, dass die Liste in Datei A benutzt wird, bevor sie in Datei B erstellt und mit Werten versehen wurde. Folgt man der Logik des Codes, gibt es kein Problem. Der Fehler kommt scheinbar daher, dass der Compiler stur von vorne nach hinten den Code abarbeitet.
Ich habe keine Ahnung, was jetzt der beste Weg ist. Vielleicht (Sicher) hätte ein Profi, den Code und das ganze Projekt schon anders aufgebaut… Aber wie gehe ich jetzt damit am besten um?
- Kann ich in Datei A irgendwie den Compiler darauf hinweisen, dass die Liste in Datei B deklariert wird?
- Soll ich die Liste, obwohl sie eigentlich zu Datei B gehört, in Datei A deklarieren? (Löst das Problem, macht den Code aber wieder unübersichtlicher)
- Soll ich gleich alle globalen Variablen, Listen und Arrays in einer gesonderten Datei deklarieren und diese einbinden? (Finde ich auch nicht so übersichtlich)
- Etwas ganz anderes?