PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hilfe bei Visual C++


beta3
2003-02-16, 12:27:53
hi
möchte gerne programmieren lernen, aber habe jetzt ein problem
verwende Visual C++ 6.0 von Microsoft
die fehler bekomme ich beim kompiliern:
--------------------Konfiguration: hello - Win32 Debug--------------------
Kompilierung läuft...
helloDlg.cpp
C:\Programme\Microsoft Visual Studio\MyProjects\hello\helloDlg.cpp(175) : error C2143: Syntaxfehler : Fehlendes ';' vor 'constant'
C:\Programme\Microsoft Visual Studio\MyProjects\hello\helloDlg.cpp(175) : fatal error C1004: Unerwartetes Dateiende gefunden
Fehler beim Ausführen von cl.exe.

helloDlg.obj - 2 Fehler, 0 Warnung(en)



ich verwende folgendes tutorial:
http://www.mut.com/media/buecher/VCPLUS6/data/kap01.htm


der fehler kommt, nachdem ich den punkt 6 in "Code in die Anwendung aufnehmen" gemacht habe

Einfachkrank
2003-02-16, 12:38:58
Hi,

du kannst in dem Debug Fenster den Fehler auch doppelt anklicken, dann kommst du (meistens) direkt zu der Zeile. Beim ersten Fehler hast du entweder irgendwo ein Semikolon vergessen oder der Bezeichner "constant" ist dem Compiler kein Begriff. Meintest du vielleicht "const"?
Zum zweiten Fehler: Entweder hast du noch keine Funktionen oder Prozeduren in deinem Programm, oder du hast eine Funktion noch nicht richtig zu ende geschrieben(vielleicht ne geschweifte Klammer vergessen oder so).
Aber am einfachsten ist, wenn du hier mal ein wenig Code postest, dann kann hier jeder selber mal durchschauen...

MFG Einfachkrank

beta3
2003-02-16, 12:55:46
danke für die rasche antwort
was ist ein Semikolon?
ich habe in dem code nie constant reingeschrieben
am schluss habe ich eine geschwungene klammer gesetzt
noch was: es ist eine MFC-exe-anwendung
das habe ich zum code hinzugefügt:
1: void CHelloDlg::OnHello()
2: {
3: // TODO: Code für die Behandlungsroutine der Steuerelement- ÂBenachrichtigung hier einfügen
4:
5: ///////////////////////
6: // EIGENER CODE, ANFANG
7: ///////////////////////
8:
9: // Benutzer begrüßen
10: MessageBox("Hello. Das ist meine erste Visual C++-Anwendung!");
11:
12: ///////////////////////
13: // EIGENER CODE, ENDE
14: ///////////////////////
15: }


beide fehler beziehen sich auf die 1.zeile

edit:
habe jetzt unten was neu geschrieben:

void CHelloDlg::OnHello()
{
// TODO: Code für die Behandlungsrputine der Steuerelemente-Benachrichtigung hier einfügen
1: void CHelloDlg::OnHello()
2: {
3: // TODO: Code für die Behandlungsroutine der Steuerelement- ÂBenachrichtigung hier einfügen
4:
5: ///////////////////////
6: // EIGENER CODE, ANFANG
7: ///////////////////////
8:
9: // Benutzer begrüßen
10: MessageBox("Hello. Das ist meine erste Visual C++-Anwendung!");
11:
12: ///////////////////////
13: // EIGENER CODE, ENDE
14: ///////////////////////
15: }
}

wieder 2fehler: diesmal auf die geschwungene klammer under void und auf die geschwungene klammer unter der nummer 15

das steht bei der ausgabe:
C:\Programme\Microsoft Visual Studio\MyProjects\hello\helloDlg.cpp(173) : error C2601: 'OnHello' : Lokale Funktionsdefinitionen sind unzulaessig
C:\Programme\Microsoft Visual Studio\MyProjects\hello\helloDlg.cpp(191) : fatal error C1004: Unerwartetes Dateiende gefunden
Fehler beim Ausführen von cl.exe

Einfachkrank
2003-02-16, 13:56:53
Also, wie jetzt? Ein Semikolon ist eben ein ";" ;)
Um in diesem Forum den Code noch schöner anzeigen zu können, solltest du mal die Hilfe lesen etc.
Zu dem ersten Fehler: Wie der Compiler schon sagt, du kannst in einer Funktion keine weitere Funktion deklarieren. So nicht:
void CHelloDlg::OnHello()
{
// hier kannst du keine weitere Funktion deklarieren, da du schon
// in einer bist :)
void CHelloDlg::OnHello()
{
// ...
}
}
Änder das mal um, vielleicht hebt sich der zweite Fehler dann von alleine auf.

PS: Ich würde dir empfehlen, mit Grundlagen von C oder C++ anzufangen, nicht gleicht mit MFC...

Unregistered
2003-02-16, 20:59:42
das mit der messagebox dürfte doch gar nicht gehen

die messagebox ist doch so definiert

int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

und nicht

int MessageBox(LPCTSTR lpText);

Demirug
2003-02-16, 21:02:29
Originally posted by Unregistered
das mit der messagebox dürfte doch gar nicht gehen

die messagebox ist doch so definiert

int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

und nicht

int MessageBox(LPCTSTR lpText);

Die MFC hat eine überladene Version von MessageBox die nur mit einem Textstring auskommt.

Unregistered
2003-02-16, 21:02:41
und du kannst doch nicht eine klassenfunktion in einer klassenfunktion definieren

beta3
2003-02-17, 09:27:00
ich probier das mal einfachfrank

aber ich erwähne es hier nochmal, ich habe alles so gemacht, wie es im tutorial steht, schaut es euch mal an
http://www.mut.com/media/buecher/VCPLUS6/data/kap01.htm

hasang321654
2003-02-17, 15:02:12
Ey Beta, versuch mal den Code:

#include <iostream.h>

int main()
{
cout << "Hello World \n";
return NULL;
}

So und wenn da etwas als Fehler ausgegeben wird, (beachte) etwas mit der "cl.exe" dann kannst du es mit vcpp6 vergessen oder du musst vcpp6 neu installieren!

vcpp6 = visual c-plusplus sechs(6)

Matrix316
2003-02-18, 19:51:04
Originally posted by beta3
ich probier das mal einfachfrank

aber ich erwähne es hier nochmal, ich habe alles so gemacht, wie es im tutorial steht, schaut es euch mal an
http://www.mut.com/media/buecher/VCPLUS6/data/kap01.htm

Ich hab das auch mal ausprobiert und die haben sich etwas unverständlich ausgedrückt.

Es reicht wenn du einfach die Zeile:


MessageBox("Hello. Das ist meine erste Visual C++-Anwendung!");


in den Quellcode einfügst.

Dann gehts.

Wobei IMO dieses Tutorial IMO irgendwie nicht viel mit Programmieren zu tun hat. Noch dazu finde ich den generierten Code viel zu Unverständlich. Es wäre besser, wenn man zeigen würde wie man den Quellcode (und die Klassen) selbst entwickelt anstatt irgendwelche Sachen in Menüs auszuwählen und irgendwas anzuklicken ohne, dass man den Bezug zum Quelltext hat...

beta3
2003-02-21, 14:21:22
@matrix316:
kennnst du ein besseres tutorial?

es funzt jetzt, danke matrix316

zeckensack
2003-02-21, 14:33:19
Das IMO beste was man sich geben kann:
http://www.relisoft.com/
Ist aber englisch ;)

Matrix316
2003-02-21, 14:39:00
Originally posted by beta3
@matrix316:
kennnst du ein besseres tutorial?

es funzt jetzt, danke matrix316

Für Grafische Sachen ist es bestimmt nicht schlecht. Aber ich finde es hat mit Programmieren an sich eher weniger zu tun (IMO).

Hier ist auch nochmal ein Tutorial. Für MFC und für Win api 32 (Old School ;)).
http://www.fortunecity.de/wolkenkratzer/kapital/688/inhalt.htm

beta3
2003-02-21, 14:43:30
schaue mir die anderen tutorials an

wie exportiert man die programme aus Visual c++, damit sie jeder benutzen kann?

Matrix316
2003-02-21, 15:13:17
Meinst du jetzt die Quelltexte oder die exe oder was genau?

beta3
2003-02-21, 17:32:54
die programme, die man mit visual c++ macht, als *.exe datei, damit sie jeder ausführen kann

Xmas
2003-02-21, 20:24:40
Die .exe Dateien befinden sich nach einem Build üblicherweise im Unterverzeichnis "Debug" bzw. "Retail" (je nach eingestellter Konfiguration) im Projektverzeichnis und haben den Namen des Projekts.
Das sind die Standardeinstellungen.

Matrix316
2003-02-21, 20:25:02
Originally posted by beta3
die programme, die man mit visual c++ macht, als *.exe datei, damit sie jeder ausführen kann

Guck mal im Ordner "Debug" der nebenbei erstellt wird (im Verzeichnis der Quelltexte).

beta3
2003-02-21, 20:37:28
thx