Neue Unit einfügen um Funktionen übersichtlicher zu machen



  • Hallo,

    ich würde gerne meine Funktionen und Klassen alle in einer extra Unit deklarieren
    anstatt alles in einem Dokument zu machen, der Übersichtlichkeit wegen.
    Wenn ich allerdings Datei->Neu->Unit mache und dann in diese Unit die Funktionen einfüge kommt immer "Fehler in der Deklarationssyntax" obwohl die Funktionen so in der normalen Unit ohne weiters funktionieren.

    Muss ich da evtl etwas vorher noch mit einbinden in der neuen Unit. Zum Projekt hinzugefügt hab ich sie schon.

    Gruß,
    Mark2k5



  • Auch die Headerdateien becahtet?



  • Hallo

    und die Headerdatei der neuen Unit auch in der ursprünglichen Imp-Datei included?

    bis bald
    akari



  • Es lag wohl an der vcl.h
    wenn ich die in der Unit 2 einbinde, dann funktioniert das ganze.
    Hab das jetzt gemacht aber er meldet jetzt komischerweise

    [Linker Warnung] Public symbol '_Ansi_BestellungSubject1' defined in both module G:\OUTLOOK\UNIT1.OBJ and G:\OUTLOOK\UNIT2.OBJ
    

    und kompiliert weiter... d.h. das Programm funktioniert auch wie es soll, aber es kommt immer beim kompilieren diese hässliche Fehlermeldung 😕

    Hab auch schon probiert die vcl.h nur in Unit2 einzubinden, auch dann diese Fehlermeldung.

    KAnn mir da jemand helfen? Natürlich hab ich den code den ich in Unit2 kopiert habe in Unit1 gelöscht, so dass er nur einmal vorkommt!



  • Hallo

    - Wenn du in einer Unit VCL-Typen/Funktionen wie AnsiString benutzt, must du natürlich die VCL includen.

    - anscheinend hast du in der Headerdatei der Unit die globale Variable _Ansi_BestellungSubject1 deklariert. Das ist schlecht. Wenn du wirklich soetwas brauchst, must du mit extern arbeiten :

    // Datei Unit1.h
    extern int GlobalZahl; // Variable wird vordeklariert
    
    // Datei Unit.cpp
    extern int GlobalZahl = 0; // Variable wird deklariert und initialisiert
    

    bis bald
    akari


Anmelden zum Antworten