Problem mit der Deklarationsreihenfolge ... *nerv* ^^



  • Hi beisammen 🙂

    Ich momentan ein kleines Verständnis/Zuordnungsproblem.

    In meiner Datei LoA_Field.h hab ich die Funktionen der Klasse "Field" die später unter anderem eine Reihe von TImage-Objekte in ein ihr enthaltenes Array schreiben soll.

    Nun steh ich vor dem Problem das ich dem Parent der Image-Objekte nicht das Formular zuweisen kann.

    Das hat folgende Begebenheit:

    Auszug aus der LoA_mainf.cpp

    #include "LoA_Field.h"
    #include "LoA_Field.cpp"
    
    #include "LoA_Table.h"
    #include "LoA_Table.cpp"
    
    #include "LoA_Game.h"
    #include "LoA_Game.cpp"
    
    #include "LoA_mainf.h"
    

    In der Datei LoA_mainf.h wird das Formular definiert und in der "aktuellen" Datei LoA_mainf.cpp deklariert.

    Da die Methoden der Klasse Field das Formular benötigen (um es den Imageobjekten als Parent zuzuweisen), müsste ich ja theoretisch die LoA_Field.h nach der LoA_mainf.h includieren, dies geht aber aus folgendem Grund nicht:

    Im Formular selber ist eine Klasse namens Game die in der Datei LoA_Game.h definiert wird, die wiederum eine Klasse namens Table (LoA_Table.h) beinhaltet, die dann ein Array aus Objekten der Klasse Field (LoA_Field.h) hat.

    Das ganze ist so, weil ich das eigentlich recht übersichtlich finde, da alles schön getrennt und unterteilt ist.

    Ich würde die betreffende Funktion der Klasse Field nur ungerne in der cpp des Formulares einbinden, da dann die Ordnung wieder durch den Wind wäre.

    Da muss es doch noch eine andere Möglichkeit geben sowas zu machen, oder ?
    Kann nicht eine Art "Platzhalter" einsetzen, welcher der Klasse, solange bis das Formular definiert wurde, vorgaukelt dass das Formular bereits existent ist ?

    Hoffe mal das war einiegermaßen Verständlich geschrieben und ich bekomme nicht wieder Schelte ^^.

    Ansonsten hol ich gerne nochmal weiter aus 🙂

    Danke schonmal

    Finn



  • Anhang:

    Die .cpp-Dateien sind deswegen eingebunden, da mir der Compiler sonst einen fehler ausspuckt, das die Klasse Field noch nicht existent wäre.

    Was mich auch zu einer weiteren Frage bringt, wie kann ich im Borland Builder 5 Precompilen um mit dann denn Quelltext mal anzugucken ?

    EDIT:

    Ok, Problem teilweise gelöst, die .cpps sind jetzt nicht mehr includiert, borland hat die in der "Hauptdatei" in einer anderen Reihenfolge sortiert, daher der Fehler.

    bleiben aber immernoch die Frage von oben und wie man precompilieren kann um sich den Quelltext anzugucken ... ?


Anmelden zum Antworten