#include-System



  • Hi

    Kann mir mal jemand erklären, wie das System mit dem Einbinden von Units/Dateien funktioniert? Oder kann mir jemand ein Tutorial empfehlen?

    Fragen:
    Wieso kann ich z.B TPoint verwenden, ohne dass ich die dazugehörige Unit eingebunden habe?
    Wieso kommt folgende Fehlermeldung, wenn ich TBitmap verwenden möchte:
    [C++ Fehler] schiessenU.h(24): E2015 Mehrdeutigkeit zwischen 'TBitmap' und 'Windows::TBitmap'
    Ich vermute, TBitmap ist im Namensraum Windows, aber in der Online-Hilfe steht nichts darüber.
    Was muss ich in der .cpp-Datei einbinden, was in der .h-Datei?
    Sind alle Variablen von der .cpp-Datei auch in der .h-Datei sichtbar? (in der gleichen natürlich)

    etc...

    thx 🙂
    cu



  • 1.:Du musst den Header, in dem TPoint Deklariert ist, nicht includieren, weil der in der vcl.h includiert wird.

    2.: Das VCL-TBitmap ist im Namensraum Graphics - aber was hat das mit dem Thema zu tun? 😕

    3.: Das, was du jeweils brauchst. Wenn du z.B. TIniFile nur in der cpp-Datei brauchst, musst du die IniFiles.hpp auch nur dort includieren.

    4.: Nein, die Header-Datei weiß nichts von der cpp-Datei.



  • Grundsätzlcih sind das alles Grundsatzprobleme betreffend C und Cplusplus. Vielleicht solltest du dich da eher beraten lassen.

    -junix



  • Original erstellt von Eßer:
    4.: Nein, die Header-Datei weiß nichts von der cpp-Datei.

    Doch, in gewisser Weise schon! Wenn ich eine Unit benutze (cpp und h-Datei), dann inkludiere ich ja nirgendwo die cpp-Datei. Der Compiler sucht dann also nach einer gleichnamigen cpp-Datei, wenn ich die h-Datei inkludiere.



  • @Esser
    2. Wie kann ich dass herausfinden? In der Online-Hilfe hab ich es nicht gefunden...

    4. Und umgekehrt?

    Wenn ich etwas in der cpp-Datei include, weiss dann die .h-Datei davon? Eigentlich würde ich mir die Frage mit Nein beantworten, aber <vcl.h> wird in der .cpp-Datei eingebunden und die .h-Datei weiss davon. 😕

    @junix
    Du meinst, das gehöre ins C++-Forum?
    Dann muss ich dir wohl Recht geben. Ich kenn mich leider mit den verschieden Dateien nicht so aus, daher dachte ich, dass sei mit dem C++-Builder anders.



  • Original erstellt von WebFritzi:
    Wenn ich eine Unit benutze (cpp und h-Datei), dann inkludiere ich ja nirgendwo die cpp-Datei.

    Doch, indem du die Cpp-Datei per Projekt->Dem Projekt hinzufügen zum Projekt hinzufügst. Sonst weiß der Compiler nix von der Datei.

    @DeWinter: Wenn du kein 'ß' hast, dann nenn mich bitte "Ehser", Danke.

    Zu 4.: Wenn in der cpp-Datei die Header-Datei includiert wird, "weiß" sie natürlich auch alles, was darin steht.

    Original erstellt von DeWinter:
    aber <vcl.h> wird in der .cpp-Datei eingebunden und die .h-Datei weiss davon.

    Geht es immer noch um TPoint? Die Datei Types.hpp wird z.B. auch noch in der Classes.hpp includiert.



  • @Ehser
    Bin Schweizer und weiss ehrlich gesagt nicht mal, ob ich ein Doppel-S einfügen könnte...

    ansonsten Danke für die Antworten! 🙂


Anmelden zum Antworten