Funktion oder Ereignis einer anderen Klasse aufrufen(ActiveX)
-
Hallo zusammen!
Blöde Frage: Aber wie ruft man ein Ereignis oder eine Funktion einer anderen Klasse auf?? Ich hab, wie ich schon in einem anderen Posting gesagt habe, schon lange nichts mehr mit C++ gemacht, hab mir also mein altes C++ Buch hervorgeholt und da mal ein bisschen geguckt, da hab ich bei Codebeispielen gesehen, dass man sowas so macht:
CTestAnwendungCtrl mzz;
mzz.Funktion1();Ich bin schon langsam echt verzweifelt, er zeigt mir dann immer den Fehler an, dass er CTestAnwendungCtrl nicht kennt, obwohl diese Klasse ja eindeutig im "Klassentab" zu sehen ist:
error C2065: 'CTestAnwendungCtrl' : nichtdeklarierter Bezeichner
Noch dazu bekomme ich, nachdem ich den Punkt gemacht hab, auch die ganz normale Wortvorschlagliste, also er scheint es irgendwie doch zu kennen... Da fragt man sich ja, WARUM ist der Compiler nur sowas von blöd *grml*
Übrigens ist die Klasse CTestAnwendungCtrl, wie man schon aus dem Namen auslesen kann, die Klasse für das Steuerelement selber. Sollte ich etwas unklar ausgedrückt haben, dann kann ich das gern noch besser erklären
Grüße
Hati
-
header eingebunden?
-
Hallo nochmal!
OK, hab ich gemacht, allerdings findet der ***** Compiler die Funktionen/Variablen der anderen Klasse trotzdem nicht. Ich hab auch schon geguckt, ob die denn eh public sind, ja das sind sie
Nun hab ich mir gedacht, naja, die Funktionen selbst stehen doch in der cpp-Datei, also hab ich die .cpp auch eingebunden mittels #include. Dann scheint es, als würde es gehen, doch plötzlich spuckt er noch einen zuerst recht harmlos klingenden Fehler aus, dass eben in dieser .cpp die StdAfx.h nicht gefunden werden kann, ich frag mich aber auch, warum bitte?!? Im Projekt als auch als Datei heißt die "StdAfx.h", warum bitte findet der die nicht?!? Wenn ich dass dann umbessere, kommt überhaupt das Beste: rund 40 Fehler und 40 Warnungen, welche so gut wie überhaupt nix aussagen kommen zum Vorschein..hmh *g* Warum bitte reicht dem Compiler nicht der Header alleine? Und wie gesagt, auch mit cpp spinnt er rum *grml*mfg,
Hati
-
Welche Fehler hast du, wenn du (korrekterweise) nur den Header einbindest?
-
Hallo nochmal!
4 Fehler, wenn ich eben folgenden Code ausführen will:
CTestAnwendungCtrl mzz; mzz.Funktion1();
Fehler 1: "CTestAnwendungCtrl" ist keine Klasse oder Namespace
Fehler 2: Ein fehlendes ";" vor dem mzz
Fehler 3: mzz nicht deklarierter Bezeichner
Fehler 4: Das linke von Funktion1() muss eine Klasse/Struktur/Union sein.Also das gleiche, wie ganz am Anfang *g*
Wenn du Zeit hast, könnten wir uns auch irgendwo in einem Chat, z.B. IRC treffen...
mfg,
Hati