problem mit #includes



  • das hab ich erst später gemerkt...
    dann hab ich das "per hand" gelöscht und es mit Unit-Header einbinden versucht, aber der schreibt genau das gleiche rein wie ich auch ....
    chris



  • Ich hab aber nicht verstanden, was denn nicht funktioniert. Was soll heißen, dass das zweite include nicht beachtet wird?



  • in derm zweiten include ist ein Dialog AlbumDgl
    wenn ich die diesen Dialog AlbumGlg->Show();
    aufrufe gibts einen Fehler "undefined symbol"
    chris



  • "undefined symbol" und dann.....

    wär schon interessant was da noch so alles steht. 🙂

    mfg Tom



  • ja stimmt eigentlich,sorry ...
    da steht "undefined symbol AlbumDgl"
    (also der Name der Klasse in dem 2ten include)

    chris



  • chris5 schrieb:

    da steht "undefined symbol AlbumDgl"
    (also der Name der Klasse in dem 2ten include)

    chris

    dann ists aber einfach, denn oben schreibst du, dass deine .h datei so heißt: AlbDlg.h

    hast du dich entweder hier verschrieben oder im Program beim vergeben des Namens für dein Fenster. Kann das sein?



  • hmmm ...also es sieht so aus

    .
    .
    .
    #include "ArtDlg.h"
    #include "AlbDlg.h"
    .
    .
    

    in ArtDlg.h steht:

    .
    class TArtistDlg : public TForm
    .
    

    in AlbDlg.h steht

    .
    class TAlbumDlg : public TForm
    .
    

    in meinem programm gibts die aufrufe

    erg =AlbumDlg->ShowModal();
     .
     erg =ArtistDlg->ShowModal();
    

    bei der Reihenfolge der include Dateien ist AlbumDlg ein undefinied symbol
    wenn ich die Reihenfolge vertausche ist ArtistDlg ein undef symbol
    chris



  • ps: ja ich hab mich hier verschrieben ... 🙂
    chris



  • ok, hab den Fehler gefunden,
    in beiden Headern stand

    #ifndef OCBH
    #define OCBH
    .
    .
    #endif
    

    jetzt hab ich jeweils das gemacht ...

    #ifndef ArtDlg.h
    #define ArtDlg.h
    .
    .
    #endif
    
    #ifndef AlbDlg.h
    #define AlbDlg.h
    .
    .
    #endif
    

    kann mir noch jemand sagen was das OCBH bedeutet ??
    Danke
    Chris



  • Eigentlich das du manuell daran rungefummelt hast.

    Üblicherweise werden die Includewächter mit
    #ifndef UnitXXXXX
    gebildet, so dass das Problem nicht auftauchen kann.



  • da hab ich eigtnelich nix drann geändert ich hab zwei mal
    datei neu->Dialog:Standart Dialog gemacht , dann den Dialogen andere Namen gegeben ( AlbumGlg und ArtistDlg aber beides im Objektinspektor) ... dann hab ich alles speicher gemacht und als ArtDlg.h und AlbDlg.h gespeicher ....
    dann hab ich die beiden *.h dateien per hand in mein hauptprogramm eingertragen .... hhhmmmmmm .... naja ... jetzt gehts ja ... danke
    falls mir doch noch jemand sagen könnt was ich das nächste mal besser machern soll (außer nicht per hand eintragen ) dann bitte ich drum es zu sagen
    danke, bis bald
    chris


Anmelden zum Antworten