Announcement

Collapse
No announcement yet.

Funktionsaufrufe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Funktionsaufrufe

    Hallo,

    ich habe da ein Problem mit Funktionsaufrufen.
    Ich wollte das mal an einem einfachen Beispiel probieren. Leider funktioniert das nicht. Das liegt sicher an mir, denn ich habe noch sehr wenig Erfahrung mit BCB. Vieleicht kann ir mal jemand helfen. Dafür wäre ich sehr dankbar.

    Hier ist ert mal mein Code Unit1.h):


    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TButton *Button1;
    TComboBox *ComboBox1;
    TButton *Button2;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    private: // Anwender-Deklarationen
    public: // Anwender-Deklarationen
    __fastcall TForm1(TComponent* Owner);

    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    extern void __fastcall doit(void);
    //---------------------------------------------------------------------------
    #endif


    Ich habe auf einem Formular 2 Schalter und eine ComboBox.
    Dazu habe ich eine Funktion (doit) deklariert.


    Num die Unit1.cpp

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall doit(void)
    {
    Form1->ComboBox1->Visible=false;
    }

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Form1->ComboBox1->Visible=true;
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    doit();
    ShowMessage("Funktion beendet");
    }
    //---------------------------------------------------------------------------



    Der Compiler bricht ab mit der folgenden Meldung:


    [Linker Fataler Fehler] Fatal: Expected a file name:


    Was ich auch tue, immer die selbe Meldung.


    MfG
    Gruß Henry

  • #2
    Auf welche Zeile bezieht sich denn die Fehlermeldung? Ich habe alles genauso eingegeben wie du. Bei mir tritt allerdings kein Fehler auf. Hast du etwas an den Linker-Einstellungen verändert?

    Die Deklaration in der Header-Datei ("extern void __fastcall doit(void);") ist in diesem Fall übrigens nicht nötig.

    Und noch etwas. Vor der ersten Zeile in der Header-Datei sollte noch "#ifndef Unit1H" stehen.

    Gruß Max

    Comment


    • #3
      Linkerfehlermeldungen beziehen sich nicht auf eine Zeile...


      Würde mal das Projekt sauber aufsetzen mit neuen Dateien und dort nicht die Vorgaben ändern

      -> wie Brixner schon schrieb - den Includewächter drin lassen


      ggf. die hier mit * versehenen Dateien deines Projektes löschen

      http://www.marquardtnet.info/cecke/q...quicky_20.html
      Christian

      Comment


      • #4
        Hallo Max, hallo Christian,


        Danke für die Hilfe.
        Ich hab das auch auf einem anderen Rechner probiert.
        Hier lief dann auch alles.
        Auf dem Rechner in meiner Firma hab ich das nicht zum Laufen bekommen.
        Ich werde den BCB dort mal neu aufsetzen.
        Ich hoffe das wars dann.


        Gruß Henry
        Gruß Henry

        Comment

        Working...
        X